@rpcbase/ui 0.287.0 → 0.289.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/assets/sha256.worker-DNtOSCbM.js.map +1 -0
- package/dist/components/FilesUploadField/index.d.ts.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index10.js.map +1 -1
- package/dist/index100.js.map +1 -1
- package/dist/index101.js.map +1 -1
- package/dist/index102.js.map +1 -1
- package/dist/index103.js.map +1 -1
- package/dist/index104.js.map +1 -1
- package/dist/index105.js.map +1 -1
- package/dist/index106.js.map +1 -1
- package/dist/index107.js.map +1 -1
- package/dist/index108.js.map +1 -1
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +96 -17
- package/dist/index11.js.map +1 -1
- package/dist/index110.js.map +1 -1
- package/dist/index111.js.map +1 -1
- package/dist/index112.js.map +1 -1
- package/dist/index113.js.map +1 -1
- package/dist/index114.js.map +1 -1
- package/dist/index115.js.map +1 -1
- package/dist/index116.js.map +1 -1
- package/dist/index117.js.map +1 -1
- package/dist/index118.js.map +1 -1
- package/dist/index119.js.map +1 -1
- package/dist/index12.js.map +1 -1
- package/dist/index120.js.map +1 -1
- package/dist/index121.js.map +1 -1
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +1 -1
- package/dist/index123.js.map +1 -1
- package/dist/index124.js.map +1 -1
- package/dist/index125.js.map +1 -1
- package/dist/index126.js.map +1 -1
- package/dist/index127.js.map +1 -1
- package/dist/index128.js.map +1 -1
- package/dist/index129.js.map +1 -1
- package/dist/index13.js.map +1 -1
- package/dist/index130.js.map +1 -1
- package/dist/index131.js.map +1 -1
- package/dist/index132.js.map +1 -1
- package/dist/index133.js.map +1 -1
- package/dist/index134.js.map +1 -1
- package/dist/index135.js.map +1 -1
- package/dist/index136.js.map +1 -1
- package/dist/index137.js.map +1 -1
- package/dist/index138.js.map +1 -1
- package/dist/index139.js.map +1 -1
- package/dist/index14.js.map +1 -1
- package/dist/index140.js.map +1 -1
- package/dist/index141.js.map +1 -1
- package/dist/index142.js.map +1 -1
- package/dist/index143.js.map +1 -1
- package/dist/index144.js.map +1 -1
- package/dist/index145.js.map +1 -1
- package/dist/index146.js.map +1 -1
- package/dist/index147.js.map +1 -1
- package/dist/index148.js.map +1 -1
- package/dist/index149.js.map +1 -1
- package/dist/index15.js.map +1 -1
- package/dist/index150.js.map +1 -1
- package/dist/index151.js.map +1 -1
- package/dist/index152.js.map +1 -1
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +4 -4
- package/dist/index154.js.map +1 -1
- package/dist/index155.js.map +1 -1
- package/dist/index156.js.map +1 -1
- package/dist/index157.js.map +1 -1
- package/dist/index158.js.map +1 -1
- package/dist/index159.js.map +1 -1
- package/dist/index16.js.map +1 -1
- package/dist/index160.js.map +1 -1
- package/dist/index161.js.map +1 -1
- package/dist/index162.js.map +1 -1
- package/dist/index163.js.map +1 -1
- package/dist/index164.js.map +1 -1
- package/dist/index165.js.map +1 -1
- package/dist/index166.js.map +1 -1
- package/dist/index167.js.map +1 -1
- package/dist/index168.js.map +1 -1
- package/dist/index169.js.map +1 -1
- package/dist/index17.js.map +1 -1
- package/dist/index170.js +18 -12
- package/dist/index170.js.map +1 -1
- package/dist/index171.js.map +1 -1
- package/dist/index172.js.map +1 -1
- package/dist/index173.js.map +1 -1
- package/dist/index174.js.map +1 -1
- package/dist/index175.js.map +1 -1
- package/dist/index176.js.map +1 -1
- package/dist/index177.js.map +1 -1
- package/dist/index178.js.map +1 -1
- package/dist/index179.js.map +1 -1
- package/dist/index18.js.map +1 -1
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +1 -1
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +3 -3
- package/dist/index182.js.map +1 -1
- package/dist/index183.js.map +1 -1
- package/dist/index184.js.map +1 -1
- package/dist/index185.js.map +1 -1
- package/dist/index186.js.map +1 -1
- package/dist/index187.js.map +1 -1
- package/dist/index188.js.map +1 -1
- package/dist/index189.js.map +1 -1
- package/dist/index19.js.map +1 -1
- package/dist/index190.js +9 -7
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +4 -4
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +4 -15
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +13 -3
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +2 -2
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +4 -85
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +79 -54
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +68 -7
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +3 -23
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +6 -28
- package/dist/index199.js.map +1 -1
- package/dist/index20.js.map +1 -1
- package/dist/index200.js +4 -97
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +3 -4
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +23 -24
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +28 -10
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +97 -4
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +4 -12
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +22 -19
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +4 -6
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +4 -15
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +10 -102
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +21 -3
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +5 -23
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +15 -28
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +101 -17
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +3 -7
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +24 -15
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +27 -7
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +17 -24
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +6 -22
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +15 -6
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +8 -5
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +27 -4
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +23 -4
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +6 -24
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +5 -3
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +4 -24
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +4 -23
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +23 -6
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +22 -8
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +3 -19
- package/dist/index229.js.map +1 -1
- package/dist/index23.js.map +1 -1
- package/dist/index230.js +22 -50
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +7 -20
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +9 -27
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +17 -97
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +50 -33
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +20 -119
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +28 -13
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +98 -4
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +33 -15
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +116 -62
- package/dist/index239.js.map +1 -1
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +13 -10
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +4 -109
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +14 -14
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +64 -12
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +10 -5
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +104 -318
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +14 -66
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +12 -232
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +4 -270
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +313 -309
- package/dist/index249.js.map +1 -1
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +60 -171
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +252 -8
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +268 -41
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +316 -47
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +179 -9
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +6 -50
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +41 -51
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +50 -7
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +9 -10
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +51 -61
- package/dist/index259.js.map +1 -1
- package/dist/index26.js.map +1 -1
- package/dist/index260.js +53 -42
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +9 -97
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +31 -47
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +61 -36
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +43 -47
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +92 -46
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +48 -20
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +33 -176
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +49 -48
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +68 -15
- package/dist/index269.js.map +1 -1
- package/dist/index27.js.map +1 -1
- package/dist/index270.js +20 -65
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +202 -9
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +48 -40
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +60 -91
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +9 -278
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +38 -55
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +91 -10
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +278 -12
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +58 -11
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +11 -64
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +5 -5
- package/dist/index28.js.map +1 -1
- package/dist/index280.js +12 -6
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +3 -25
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +3 -25
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +12 -126
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +63 -51
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +5 -60
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +24 -48
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +24 -6
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +125 -14
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +51 -16
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +5 -7
- package/dist/index29.js.map +1 -1
- package/dist/index290.js +56 -11
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +47 -24
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +7 -51
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +15 -6
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +18 -148
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +12 -59
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +25 -120
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +54 -15
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +5 -866
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +148 -28
- package/dist/index299.js.map +1 -1
- package/dist/index3.js.map +1 -1
- package/dist/index30.js +6 -8
- package/dist/index30.js.map +1 -1
- package/dist/index300.js +55 -512
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +111 -794
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +14 -7436
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +862 -6
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +28 -12
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +515 -5
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +803 -5
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +7426 -468
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +6 -37
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +12 -19
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +5 -11
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +5 -30
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +5 -4
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +461 -51
- package/dist/index312.js.map +1 -1
- package/dist/index313.js +36 -10
- package/dist/index313.js.map +1 -1
- package/dist/index314.js +19 -5
- package/dist/index314.js.map +1 -1
- package/dist/index315.js +29 -8
- package/dist/index315.js.map +1 -1
- package/dist/index316.js +4 -12
- package/dist/index316.js.map +1 -1
- package/dist/index317.js +60 -3
- package/dist/index317.js.map +1 -1
- package/dist/index318.js +10 -15
- package/dist/index318.js.map +1 -1
- package/dist/index319.js +5 -25
- package/dist/index319.js.map +1 -1
- package/dist/index32.js +5 -5
- package/dist/index32.js.map +1 -1
- package/dist/index320.js +9 -41
- package/dist/index320.js.map +1 -1
- package/dist/index321.js +11 -4
- package/dist/index321.js.map +1 -1
- package/dist/index322.js +3 -26
- package/dist/index322.js.map +1 -1
- package/dist/index323.js +15 -18
- package/dist/index323.js.map +1 -1
- package/dist/index324.js +22 -31
- package/dist/index324.js.map +1 -1
- package/dist/index325.js +41 -5
- package/dist/index325.js.map +1 -1
- package/dist/index326.js +4 -8
- package/dist/index326.js.map +1 -1
- package/dist/index327.js +25 -8
- package/dist/index327.js.map +1 -1
- package/dist/index328.js +19 -9
- package/dist/index328.js.map +1 -1
- package/dist/index329.js +34 -10
- package/dist/index329.js.map +1 -1
- package/dist/index33.js +9 -6
- package/dist/index33.js.map +1 -1
- package/dist/index330.js +5 -7
- package/dist/index330.js.map +1 -1
- package/dist/index331.js +9 -75
- package/dist/index331.js.map +1 -1
- package/dist/index332.js +8 -162
- package/dist/index332.js.map +1 -1
- package/dist/index333.js +9 -114
- package/dist/index333.js.map +1 -1
- package/dist/index334.js +10 -14
- package/dist/index334.js.map +1 -1
- package/dist/index335.js +7 -80
- package/dist/index335.js.map +1 -1
- package/dist/index336.js +68 -39
- package/dist/index336.js.map +1 -1
- package/dist/index337.js +160 -11
- package/dist/index337.js.map +1 -1
- package/dist/index338.js +113 -15
- package/dist/index338.js.map +1 -1
- package/dist/index339.js +13 -100
- package/dist/index339.js.map +1 -1
- package/dist/index34.js +6 -6
- package/dist/index34.js.map +1 -1
- package/dist/index340.js +73 -49
- package/dist/index340.js.map +1 -1
- package/dist/index341.js +34 -96
- package/dist/index341.js.map +1 -1
- package/dist/index342.js +12 -70
- package/dist/index342.js.map +1 -1
- package/dist/index343.js +14 -111
- package/dist/index343.js.map +1 -1
- package/dist/index344.js +94 -48
- package/dist/index344.js.map +1 -1
- package/dist/index345.js +50 -37
- package/dist/index345.js.map +1 -1
- package/dist/index346.js +89 -125
- package/dist/index346.js.map +1 -1
- package/dist/index347.js +52 -123
- package/dist/index347.js.map +1 -1
- package/dist/index348.js +54 -197
- package/dist/index348.js.map +1 -1
- package/dist/index349.js +44 -229
- package/dist/index349.js.map +1 -1
- package/dist/index35.js +9 -9
- package/dist/index35.js.map +1 -1
- package/dist/index350.js +42 -308
- package/dist/index350.js.map +1 -1
- package/dist/index351.js +144 -5
- package/dist/index351.js.map +1 -1
- package/dist/index352.js +142 -6
- package/dist/index352.js.map +1 -1
- package/dist/index353.js +257 -7
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +241 -6
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +309 -6
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +5 -21
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +6 -10
- package/dist/index357.js.map +1 -1
- package/dist/index358.js +7 -128
- package/dist/index358.js.map +1 -1
- package/dist/index359.js +6 -42
- package/dist/index359.js.map +1 -1
- package/dist/index36.js +12 -7
- package/dist/index36.js.map +1 -1
- package/dist/index360.js +6 -68
- package/dist/index360.js.map +1 -1
- package/dist/index361.js +20 -116
- package/dist/index361.js.map +1 -1
- package/dist/index362.js +10 -490
- package/dist/index362.js.map +1 -1
- package/dist/index363.js +128 -7
- package/dist/index363.js.map +1 -1
- package/dist/index364.js +42 -13
- package/dist/index364.js.map +1 -1
- package/dist/index365.js +67 -3
- package/dist/index365.js.map +1 -1
- package/dist/index366.js +115 -45
- package/dist/index366.js.map +1 -1
- package/dist/index367.js +490 -11
- package/dist/index367.js.map +1 -1
- package/dist/index368.js +8 -26
- package/dist/index368.js.map +1 -1
- package/dist/index369.js +12 -41
- package/dist/index369.js.map +1 -1
- package/dist/index37.js +13 -5
- package/dist/index37.js.map +1 -1
- package/dist/index370.js +4 -36
- package/dist/index370.js.map +1 -1
- package/dist/index371.js +45 -15
- package/dist/index371.js.map +1 -1
- package/dist/index372.js +24 -41
- package/dist/index372.js.map +1 -1
- package/dist/index373.js +3 -12
- package/dist/index373.js.map +1 -1
- package/dist/index374.js +27 -11
- package/dist/index374.js.map +1 -1
- package/dist/index375.js +40 -50
- package/dist/index375.js.map +1 -1
- package/dist/index376.js +37 -40
- package/dist/index376.js.map +1 -1
- package/dist/index377.js +12 -10
- package/dist/index377.js.map +1 -1
- package/dist/index378.js +40 -4
- package/dist/index378.js.map +1 -1
- package/dist/index379.js +7 -4
- package/dist/index379.js.map +1 -1
- package/dist/index38.js +5 -5
- package/dist/index38.js.map +1 -1
- package/dist/index380.js +29 -8
- package/dist/index380.js.map +1 -1
- package/dist/index381.js +9 -303
- package/dist/index381.js.map +1 -1
- package/dist/index382.js +57 -4
- package/dist/index382.js.map +1 -1
- package/dist/index383.js +40 -22
- package/dist/index383.js.map +1 -1
- package/dist/index384.js +15 -105
- package/dist/index384.js.map +1 -1
- package/dist/index385.js +5 -22
- package/dist/index385.js.map +1 -1
- package/dist/index386.js +10 -22
- package/dist/index386.js.map +1 -1
- package/dist/index387.js +289 -16
- package/dist/index387.js.map +1 -1
- package/dist/index388.js +4 -12
- package/dist/index388.js.map +1 -1
- package/dist/index389.js +20 -112
- package/dist/index389.js.map +1 -1
- package/dist/index39.js +6 -10
- package/dist/index39.js.map +1 -1
- package/dist/index390.js +3 -9
- package/dist/index390.js.map +1 -1
- package/dist/index391.js +104 -27
- package/dist/index391.js.map +1 -1
- package/dist/index392.js +20 -9
- package/dist/index392.js.map +1 -1
- package/dist/index393.js +20 -6
- package/dist/index393.js.map +1 -1
- package/dist/index394.js +14 -253
- package/dist/index394.js.map +1 -1
- package/dist/index395.js +12 -10
- package/dist/index395.js.map +1 -1
- package/dist/index396.js +117 -11
- package/dist/index396.js.map +1 -1
- package/dist/index397.js +8 -6
- package/dist/index397.js.map +1 -1
- package/dist/index398.js +32 -22
- package/dist/index398.js.map +1 -1
- package/dist/index399.js +9 -23
- package/dist/index399.js.map +1 -1
- package/dist/index4.js.map +1 -1
- package/dist/index40.js +8 -11
- package/dist/index40.js.map +1 -1
- package/dist/index400.js +6 -105
- package/dist/index400.js.map +1 -1
- package/dist/index401.js +3 -15
- package/dist/index401.js.map +1 -1
- package/dist/index402.js +251 -10
- package/dist/index402.js.map +1 -1
- package/dist/index403.js +9 -7
- package/dist/index403.js.map +1 -1
- package/dist/index404.js +11 -239
- package/dist/index404.js.map +1 -1
- package/dist/index405.js +7 -28
- package/dist/index405.js.map +1 -1
- package/dist/index406.js +21 -37
- package/dist/index406.js.map +1 -1
- package/dist/index407.js +21 -10
- package/dist/index407.js.map +1 -1
- package/dist/index408.js +97 -117
- package/dist/index408.js.map +1 -1
- package/dist/index409.js +15 -40
- package/dist/index409.js.map +1 -1
- package/dist/index41.js +6 -7
- package/dist/index41.js.map +1 -1
- package/dist/index410.js +11 -25
- package/dist/index410.js.map +1 -1
- package/dist/index411.js +7 -9
- package/dist/index411.js.map +1 -1
- package/dist/index412.js +3 -24
- package/dist/index412.js.map +1 -1
- package/dist/index413.js +226 -15
- package/dist/index413.js.map +1 -1
- package/dist/index414.js +24 -11
- package/dist/index414.js.map +1 -1
- package/dist/index415.js +38 -4
- package/dist/index415.js.map +1 -1
- package/dist/index416.js +11 -324
- package/dist/index416.js.map +1 -1
- package/dist/index417.js +119 -62
- package/dist/index417.js.map +1 -1
- package/dist/index418.js +42 -4
- package/dist/index418.js.map +1 -1
- package/dist/index419.js +25 -28
- package/dist/index419.js.map +1 -1
- package/dist/index42.js +6 -4
- package/dist/index42.js.map +1 -1
- package/dist/index420.js +11 -470
- package/dist/index420.js.map +1 -1
- package/dist/index421.js +23 -268
- package/dist/index421.js.map +1 -1
- package/dist/index422.js +24 -0
- package/dist/index422.js.map +1 -0
- package/dist/index423.js +17 -0
- package/dist/index423.js.map +1 -0
- package/dist/index424.js +8 -0
- package/dist/index424.js.map +1 -0
- package/dist/index425.js +328 -0
- package/dist/index425.js.map +1 -0
- package/dist/index426.js +66 -0
- package/dist/index426.js.map +1 -0
- package/dist/index427.js +7 -0
- package/dist/index427.js.map +1 -0
- package/dist/index428.js +31 -0
- package/dist/index428.js.map +1 -0
- package/dist/index429.js +474 -0
- package/dist/index429.js.map +1 -0
- package/dist/index43.js +68 -7
- package/dist/index43.js.map +1 -1
- package/dist/index430.js +272 -0
- package/dist/index430.js.map +1 -0
- package/dist/index44.js +7 -6
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +31 -7
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +10 -10
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +15 -13
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +201 -7
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +20 -6
- package/dist/index49.js.map +1 -1
- package/dist/index5.js.map +1 -1
- package/dist/index50.js +16 -6
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +123 -14
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +19 -8
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +5 -7
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +9 -68
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +7 -7
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +9 -31
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +13 -10
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +8 -15
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +10 -201
- package/dist/index59.js.map +1 -1
- package/dist/index6.js.map +1 -1
- package/dist/index60.js +13 -20
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +9 -16
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +10 -123
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +5 -19
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +42 -9
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +387 -9
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +37 -14
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +21 -9
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +4 -9
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +6 -4
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +3 -3
- package/dist/index7.js.map +1 -1
- package/dist/index70.js +57 -41
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +5 -387
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +6 -37
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +5 -21
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +4 -56
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +7 -7
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +6 -5
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +6 -5
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +11 -5
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +11 -5
- package/dist/index79.js.map +1 -1
- package/dist/index8.js.map +1 -1
- package/dist/index80.js +7 -6
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +10 -6
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +5 -8
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +6 -7
- package/dist/index83.js.map +1 -1
- package/dist/index84.js.map +1 -1
- package/dist/index85.js.map +1 -1
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +2 -2
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +31 -31
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +1 -1
- package/dist/index89.js.map +1 -1
- package/dist/index9.js.map +1 -1
- package/dist/index90.js.map +1 -1
- package/dist/index91.js.map +1 -1
- package/dist/index92.js.map +1 -1
- package/dist/index93.js.map +1 -1
- package/dist/index94.js.map +1 -1
- package/dist/index95.js.map +1 -1
- package/dist/index96.js.map +1 -1
- package/dist/index97.js.map +1 -1
- package/dist/index98.js.map +1 -1
- package/dist/index99.js.map +1 -1
- package/package.json +13 -13
- package/dist/assets/sha256.worker-BEf4_Y9w.js.map +0 -1
package/dist/index182.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index182.js","names":["showOutsideDays = true","{\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps","cn(\"p-3\", className)","{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }","{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }","(chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n )","<ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />","<DayPickerButtonField {...props} />","placeholder = \"DD/MM/YYYY\"","<DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />","isHydrated ? \"true\" : undefined"],"sources":["../src/components/DayPickerField/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, CalendarDays } from \"lucide-react\"\nimport * as React from \"react\"\nimport { createPortal } from \"react-dom\"\nimport { DayPicker as ReactDayPicker, dateMatchModifiers } from \"react-day-picker\"\nimport { IMaskInput } from \"react-imask\"\nimport IMask, { InputMask } from \"imask\"\n\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\n// WARNING: used to preserve input mask even with tree shaking\n// DO NOT REMOVE THIS CODE OR THIS COMMENT\nconst imaskAny = IMask as any\nif (typeof imaskAny.InputMask !== \"function\") {\n imaskAny.InputMask = InputMask\n}\n\n\nexport type DayPickerProps = React.ComponentProps<typeof ReactDayPicker>\n\nexport function DayPicker({\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps) {\n return (\n <ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />\n )\n}\n\nDayPicker.displayName = \"DayPicker\"\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction startOfDay(date: Date) {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nfunction startOfMonth(date: Date) {\n return startOfDay(new Date(date.getFullYear(), date.getMonth(), 1))\n}\n\nfunction formatDayInput(date: Date) {\n return `${pad2(date.getDate())}/${pad2(date.getMonth() + 1)}/${date.getFullYear()}`\n}\n\nfunction buildDate({ day, month, year }: { day: number; month: number; year: number }): Date | null {\n if (!Number.isFinite(day) || !Number.isFinite(month) || !Number.isFinite(year)) return null\n\n const date = new Date(year, month - 1, day)\n if (\n date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day\n ) {\n return null\n }\n\n return startOfDay(date)\n}\n\nfunction parseDayInput(value: string, now: Date): Date | null {\n const trimmed = value.trim()\n if (!trimmed) return null\n\n const full = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.exec(trimmed)\n if (full) {\n return buildDate({ day: Number(full[1]), month: Number(full[2]), year: Number(full[3]) })\n }\n\n const shortYear = /^(\\d{2})\\/(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (shortYear) {\n const year = Number(shortYear[3])\n if (!Number.isFinite(year)) return null\n return buildDate({ day: Number(shortYear[1]), month: Number(shortYear[2]), year: 2000 + year })\n }\n\n const noYear = /^(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (noYear) {\n return buildDate({ day: Number(noYear[1]), month: Number(noYear[2]), year: now.getFullYear() })\n }\n\n return null\n}\n\nexport type DayPickerInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"onChange\" | \"type\"\n> & {\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n inputClassName?: string\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n}\n\nexport const DayPickerInput = React.forwardRef<HTMLInputElement, DayPickerInputProps>(\n function DayPickerInput(\n {\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n onFocus,\n onBlur,\n onKeyDown,\n onPointerDown,\n onMouseDown,\n ...rest\n },\n forwardedRef,\n ) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const inputRef = React.useRef<HTMLInputElement | null>(null)\n const isFocusedRef = React.useRef(false)\n const openRef = React.useRef(false)\n const pointerDownOnInputRef = React.useRef(false)\n const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n const ignoreNextMaskCompleteValueRef = React.useRef<string | null>(null)\n\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n openRef.current = open\n const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n },\n [onValueUpdate],\n )\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n React.useEffect(() => {\n if (isFocusedRef.current) return\n setDraft(value ? formatDayInput(value) : \"\")\n }, [value])\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n setMonth(startOfMonth(draftSelection))\n }, [draftSelection, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const ownerDocument = rootRef.current?.ownerDocument ?? document\n const ownerWindow = ownerDocument.defaultView ?? window\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n if (!openRef.current) return\n const target = event.target\n if (!(target instanceof Node)) return\n if (!rootRef.current?.contains(target) && !popoverRef.current?.contains(target)) return\n event.preventDefault()\n event.stopPropagation()\n setOpen(false)\n }\n\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\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(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const setRefs = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof forwardedRef === \"function\") {\n forwardedRef(node)\n } else if (forwardedRef) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n const closePopover = () => setOpen(false)\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - 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 setPopoverPosition({ left, top })\n }, [])\n\n // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n // call useLayoutEffect directly and keep the SSR guard inside the effect.\n React.useLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <IMaskInput\n {...rest}\n data-slot=\"day-picker-input-input\"\n disabled={disabled}\n readOnly={readOnly}\n autoComplete=\"off\"\n inputRef={setRefs}\n mask={[\n { mask: \"00/00\", lazy: true },\n { mask: \"00/00/00\", lazy: true },\n { mask: \"00/00/0000\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 4) return dynamicMasked.compiledMasks[0]\n if (digits.length <= 6) return dynamicMasked.compiledMasks[1]\n return dynamicMasked.compiledMasks[2]\n }}\n placeholder={placeholder}\n value={draft}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background py-2 pr-3 pl-[37px] 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 inputClassName\n )}\n onAccept={(nextValue) => {\n const next = typeof nextValue === \"string\" ? nextValue : String(nextValue ?? \"\")\n const previousDigitsLength = draft.replace(/\\D/g, \"\").length\n setDraft(next)\n if (next.replace(/\\D/g, \"\").length === 0) {\n if (open) {\n setMonth(startOfMonth(new Date()))\n }\n if (previousDigitsLength !== 0) {\n updateValue(null)\n }\n }\n }}\n onComplete={(completedValue) => {\n const next = typeof completedValue === \"string\"\n ? completedValue\n : String(completedValue ?? \"\")\n if (ignoreNextMaskCompleteValueRef.current === next) {\n ignoreNextMaskCompleteValueRef.current = null\n return\n }\n const parsed = parseDayInput(next, new Date())\n if (!parsed) return\n if (value && parsed.getTime() === startOfDay(value).getTime()) {\n return\n }\n updateValue(parsed)\n }}\n onPointerDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current =\n typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n onPointerDown?.(event)\n }}\n onMouseDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current =\n typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n onMouseDown?.(event)\n }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n isFocusedRef.current = true\n onFocus?.(event)\n if (shouldSelectAll) {\n const element = event.currentTarget\n requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n onKeyDown={(event) => {\n const wasDefaultPrevented = event.defaultPrevented\n onKeyDown?.(event)\n if (!wasDefaultPrevented && event.defaultPrevented) {\n return\n }\n\n if (event.key === \"Enter\") {\n if (!draftSelection) {\n return\n }\n event.preventDefault()\n if (open) {\n const isoDay = `${draftSelection.getFullYear()}-${pad2(draftSelection.getMonth() + 1)}-${pad2(draftSelection.getDate())}`\n const dayButton = popoverRef.current?.querySelector(\n `[data-day='${isoDay}']:not([data-outside]) button`,\n )\n if (dayButton instanceof HTMLButtonElement) {\n if (dayButton.disabled) {\n return\n }\n dayButton.focus()\n }\n }\n setDraft(formatDayInput(draftSelection))\n commitValue(draftSelection)\n setOpen(false)\n return\n }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n const base = draftSelection ?? value\n if (!base) {\n return\n }\n\n const next = startOfDay(new Date(base))\n next.setDate(next.getDate() + (event.key === \"ArrowUp\" ? 1 : -1))\n\n if (dayPickerProps?.disabled && dateMatchModifiers(next, dayPickerProps.disabled)) {\n return\n }\n\n event.preventDefault()\n const formatted = formatDayInput(next)\n ignoreNextMaskCompleteValueRef.current = formatted\n setDraft(formatted)\n updateValue(next)\n }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 ||\n event.key === \"Backspace\" ||\n event.key === \"Delete\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowDown\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n if (event.key === \"Tab\" && !event.defaultPrevented) {\n setOpen(false)\n }\n }}\n onBlur={(event) => {\n isFocusedRef.current = false\n onBlur?.(event)\n const blurFromPopoverPointerDown = pointerDownInPopoverRef.current\n pointerDownInPopoverRef.current = false\n if (blurFromPopoverPointerDown) {\n return\n }\n\n const relatedTarget = event.relatedTarget\n if (relatedTarget instanceof Node) {\n const root = rootRef.current\n if (!root) {\n return\n }\n\n if (root.contains(relatedTarget) || popoverRef.current?.contains(relatedTarget)) {\n return\n }\n }\n\n if (open && typeof window !== \"undefined\") {\n requestAnimationFrame(() => {\n const root = rootRef.current\n if (!root) {\n return\n }\n const activeElement = document.activeElement\n if (\n activeElement &&\n (root.contains(activeElement) || popoverRef.current?.contains(activeElement))\n ) {\n return\n }\n setOpen(false)\n })\n }\n const trimmed = draft.trim()\n if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n return\n }\n const parsed = parseDayInput(trimmed, new Date())\n if (parsed) {\n setDraft(formatDayInput(parsed))\n if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n }}\n />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n aria-label=\"Open calendar\"\n data-slot=\"day-picker-input-trigger\"\n className=\"absolute left-[13px] top-1/2 -translate-y-1/2 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n onPointerDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onClick={() => {\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n setOpen(true)\n }}\n >\n <CalendarDays aria-hidden className=\"size-4\" />\n </button>\n\n {open && !disabled && (() => {\n const selectedDay = draft.trim() === \"\"\n ? undefined\n : draftSelection ?? value ?? undefined\n\n const popover = (\n <>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n onPointerDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n onMouseDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={selectedDay}\n onSelect={(date) => {\n if (!date) {\n if (value) {\n commitValue(null)\n }\n setDraft(\"\")\n closePopover()\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setDraft(formatDayInput(normalized))\n closePopover()\n }}\n {...dayPickerProps}\n />\n </div>\n </>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n }\n)\n\nDayPickerInput.displayName = \"DayPickerInput\"\n\nexport type DayPickerFieldProps = {\n id?: string\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n className?: string\n inputClassName?: string\n placeholder?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n triggerTestId?: string\n isHydrated?: boolean\n}\n\nfunction DayPickerButtonField({\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n}: DayPickerFieldProps) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const openRef = React.useRef(false)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n openRef.current = open\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n\n const ownerDocument = rootRef.current?.ownerDocument ?? document\n const ownerWindow = ownerDocument.defaultView ?? window\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n if (!openRef.current) return\n const target = event.target\n if (!(target instanceof Node)) return\n if (!rootRef.current?.contains(target) && !popoverRef.current?.contains(target)) return\n event.preventDefault()\n event.stopPropagation()\n setOpen(false)\n }\n\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\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(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - 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 setPopoverPosition({ left, top })\n }, [])\n\n // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n // call useLayoutEffect directly and keep the SSR guard inside the effect.\n React.useLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <button\n id={id}\n type=\"button\"\n disabled={disabled}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n data-slot=\"day-picker-input-input\"\n className={cn(\n \"flex h-10 w-full items-center rounded-md border border-input bg-background px-3 py-2 text-left text-base ring-offset-background 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 !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n inputClassName,\n )}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <CalendarDays\n aria-hidden\n className=\"mr-2 size-4 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n />\n {value ? formatDayInput(value) : placeholder}\n </button>\n\n {open && !disabled && (() => {\n const popover = (\n <>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={value ?? undefined}\n onSelect={(date) => {\n if (!date) {\n commitValue(null)\n setOpen(false)\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setOpen(false)\n }}\n {...dayPickerProps}\n />\n </div>\n </>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n}\n\nexport function DayPickerField(props: DayPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <DayPickerButtonField {...props} />\n }\n\n const {\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n open,\n onOpenChange,\n } = props\n\n return (\n <DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index182.js","names":["showOutsideDays = true","{\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps","cn(\"p-3\", className)","{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }","{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }","(chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n )","<ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />","<DayPickerButtonField {...props} />","placeholder = \"DD/MM/YYYY\"","<DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />","isHydrated ? \"true\" : undefined","_c","ReactDayPicker","React","_Fragment","DayPicker$1","React$1","IMask","imaskAny","InputMask","DayPicker","$","c","className","classNames","components","props","t1","t0","showOutsideDays","t2","cn","t3","t4","_temp","t5","chevronProps","ChevronLeft","ChevronRight","pad2","value","startOfDay","next","date","startOfMonth","formatDayInput","buildDate","day","month","year","parseDayInput","trimmed","full","shortYear","noYear","now","DayPickerInput","openProp","rest","rootRef","popoverRef","inputRef","isFocusedRef","openRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","ignoreNextMaskCompleteValueRef","uncontrolledOpen","setUncontrolledOpen","open","setOpen","onOpenChange","draft","setDraft","draftSelection","setMonth","popoverPosition","setPopoverPosition","updateValue","onValueUpdate","commitValue","onChange","ownerDocument","ownerWindow","handlePointerDown","target","event","handleKeyDown","root","isActive","observer","entry","entries","setRefs","node","forwardedRef","closePopover","DayPickerComponent","dayPickerComponent","updatePopoverPosition","popover","rect","popoverWidth","popoverHeight","viewportWidth","viewportHeight","left","top","overflowBottom","aboveTop","disabled","rafId","IMaskInput","digits","dynamicMasked","appended","inputClassName","nextValue","previousDigitsLength","completedValue","parsed","onPointerDown","onMouseDown","shouldSelectAll","onFocus","element","wasDefaultPrevented","onKeyDown","isoDay","dayButton","base","dayPickerProps","dateMatchModifiers","formatted","onBlur","blurFromPopoverPointerDown","relatedTarget","activeElement","CalendarDays","selectedDay","Fragment","normalized","createPortal","DayPickerButtonField","triggerTestId","isHydrated","placeholder","DayPickerField","useIsTouchDevice","id","readOnly"],"sources":["../src/components/DayPickerField/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, CalendarDays } from \"lucide-react\"\nimport * as React from \"react\"\nimport { createPortal } from \"react-dom\"\nimport { DayPicker as ReactDayPicker, dateMatchModifiers } from \"react-day-picker\"\nimport { IMaskInput } from \"react-imask\"\nimport IMask, { InputMask } from \"imask\"\n\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\n// WARNING: used to preserve input mask even with tree shaking\n// DO NOT REMOVE THIS CODE OR THIS COMMENT\nconst imaskAny = IMask as any\nif (typeof imaskAny.InputMask !== \"function\") {\n imaskAny.InputMask = InputMask\n}\n\n\nexport type DayPickerProps = React.ComponentProps<typeof ReactDayPicker>\n\nexport function DayPicker({\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps) {\n return (\n <ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />\n )\n}\n\nDayPicker.displayName = \"DayPicker\"\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction startOfDay(date: Date) {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nfunction startOfMonth(date: Date) {\n return startOfDay(new Date(date.getFullYear(), date.getMonth(), 1))\n}\n\nfunction formatDayInput(date: Date) {\n return `${pad2(date.getDate())}/${pad2(date.getMonth() + 1)}/${date.getFullYear()}`\n}\n\nfunction buildDate({ day, month, year }: { day: number; month: number; year: number }): Date | null {\n if (!Number.isFinite(day) || !Number.isFinite(month) || !Number.isFinite(year)) return null\n\n const date = new Date(year, month - 1, day)\n if (\n date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day\n ) {\n return null\n }\n\n return startOfDay(date)\n}\n\nfunction parseDayInput(value: string, now: Date): Date | null {\n const trimmed = value.trim()\n if (!trimmed) return null\n\n const full = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.exec(trimmed)\n if (full) {\n return buildDate({ day: Number(full[1]), month: Number(full[2]), year: Number(full[3]) })\n }\n\n const shortYear = /^(\\d{2})\\/(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (shortYear) {\n const year = Number(shortYear[3])\n if (!Number.isFinite(year)) return null\n return buildDate({ day: Number(shortYear[1]), month: Number(shortYear[2]), year: 2000 + year })\n }\n\n const noYear = /^(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (noYear) {\n return buildDate({ day: Number(noYear[1]), month: Number(noYear[2]), year: now.getFullYear() })\n }\n\n return null\n}\n\nexport type DayPickerInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"onChange\" | \"type\"\n> & {\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n inputClassName?: string\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n}\n\nexport const DayPickerInput = React.forwardRef<HTMLInputElement, DayPickerInputProps>(\n function DayPickerInput(\n {\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n onFocus,\n onBlur,\n onKeyDown,\n onPointerDown,\n onMouseDown,\n ...rest\n },\n forwardedRef,\n ) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const inputRef = React.useRef<HTMLInputElement | null>(null)\n const isFocusedRef = React.useRef(false)\n const openRef = React.useRef(false)\n const pointerDownOnInputRef = React.useRef(false)\n const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n const ignoreNextMaskCompleteValueRef = React.useRef<string | null>(null)\n\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n openRef.current = open\n const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n },\n [onValueUpdate],\n )\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n React.useEffect(() => {\n if (isFocusedRef.current) return\n setDraft(value ? formatDayInput(value) : \"\")\n }, [value])\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n setMonth(startOfMonth(draftSelection))\n }, [draftSelection, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const ownerDocument = rootRef.current?.ownerDocument ?? document\n const ownerWindow = ownerDocument.defaultView ?? window\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n if (!openRef.current) return\n const target = event.target\n if (!(target instanceof Node)) return\n if (!rootRef.current?.contains(target) && !popoverRef.current?.contains(target)) return\n event.preventDefault()\n event.stopPropagation()\n setOpen(false)\n }\n\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\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(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const setRefs = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof forwardedRef === \"function\") {\n forwardedRef(node)\n } else if (forwardedRef) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n const closePopover = () => setOpen(false)\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - 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 setPopoverPosition({ left, top })\n }, [])\n\n // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n // call useLayoutEffect directly and keep the SSR guard inside the effect.\n React.useLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <IMaskInput\n {...rest}\n data-slot=\"day-picker-input-input\"\n disabled={disabled}\n readOnly={readOnly}\n autoComplete=\"off\"\n inputRef={setRefs}\n mask={[\n { mask: \"00/00\", lazy: true },\n { mask: \"00/00/00\", lazy: true },\n { mask: \"00/00/0000\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 4) return dynamicMasked.compiledMasks[0]\n if (digits.length <= 6) return dynamicMasked.compiledMasks[1]\n return dynamicMasked.compiledMasks[2]\n }}\n placeholder={placeholder}\n value={draft}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background py-2 pr-3 pl-[37px] 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 inputClassName\n )}\n onAccept={(nextValue) => {\n const next = typeof nextValue === \"string\" ? nextValue : String(nextValue ?? \"\")\n const previousDigitsLength = draft.replace(/\\D/g, \"\").length\n setDraft(next)\n if (next.replace(/\\D/g, \"\").length === 0) {\n if (open) {\n setMonth(startOfMonth(new Date()))\n }\n if (previousDigitsLength !== 0) {\n updateValue(null)\n }\n }\n }}\n onComplete={(completedValue) => {\n const next = typeof completedValue === \"string\"\n ? completedValue\n : String(completedValue ?? \"\")\n if (ignoreNextMaskCompleteValueRef.current === next) {\n ignoreNextMaskCompleteValueRef.current = null\n return\n }\n const parsed = parseDayInput(next, new Date())\n if (!parsed) return\n if (value && parsed.getTime() === startOfDay(value).getTime()) {\n return\n }\n updateValue(parsed)\n }}\n onPointerDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current =\n typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n onPointerDown?.(event)\n }}\n onMouseDown={(event) => {\n pointerDownOnInputRef.current = true\n inputWasFocusedOnPointerDownRef.current =\n typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n onMouseDown?.(event)\n }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n isFocusedRef.current = true\n onFocus?.(event)\n if (shouldSelectAll) {\n const element = event.currentTarget\n requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n onKeyDown={(event) => {\n const wasDefaultPrevented = event.defaultPrevented\n onKeyDown?.(event)\n if (!wasDefaultPrevented && event.defaultPrevented) {\n return\n }\n\n if (event.key === \"Enter\") {\n if (!draftSelection) {\n return\n }\n event.preventDefault()\n if (open) {\n const isoDay = `${draftSelection.getFullYear()}-${pad2(draftSelection.getMonth() + 1)}-${pad2(draftSelection.getDate())}`\n const dayButton = popoverRef.current?.querySelector(\n `[data-day='${isoDay}']:not([data-outside]) button`,\n )\n if (dayButton instanceof HTMLButtonElement) {\n if (dayButton.disabled) {\n return\n }\n dayButton.focus()\n }\n }\n setDraft(formatDayInput(draftSelection))\n commitValue(draftSelection)\n setOpen(false)\n return\n }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n const base = draftSelection ?? value\n if (!base) {\n return\n }\n\n const next = startOfDay(new Date(base))\n next.setDate(next.getDate() + (event.key === \"ArrowUp\" ? 1 : -1))\n\n if (dayPickerProps?.disabled && dateMatchModifiers(next, dayPickerProps.disabled)) {\n return\n }\n\n event.preventDefault()\n const formatted = formatDayInput(next)\n ignoreNextMaskCompleteValueRef.current = formatted\n setDraft(formatted)\n updateValue(next)\n }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 ||\n event.key === \"Backspace\" ||\n event.key === \"Delete\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowDown\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n if (event.key === \"Tab\" && !event.defaultPrevented) {\n setOpen(false)\n }\n }}\n onBlur={(event) => {\n isFocusedRef.current = false\n onBlur?.(event)\n const blurFromPopoverPointerDown = pointerDownInPopoverRef.current\n pointerDownInPopoverRef.current = false\n if (blurFromPopoverPointerDown) {\n return\n }\n\n const relatedTarget = event.relatedTarget\n if (relatedTarget instanceof Node) {\n const root = rootRef.current\n if (!root) {\n return\n }\n\n if (root.contains(relatedTarget) || popoverRef.current?.contains(relatedTarget)) {\n return\n }\n }\n\n if (open && typeof window !== \"undefined\") {\n requestAnimationFrame(() => {\n const root = rootRef.current\n if (!root) {\n return\n }\n const activeElement = document.activeElement\n if (\n activeElement &&\n (root.contains(activeElement) || popoverRef.current?.contains(activeElement))\n ) {\n return\n }\n setOpen(false)\n })\n }\n const trimmed = draft.trim()\n if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n return\n }\n const parsed = parseDayInput(trimmed, new Date())\n if (parsed) {\n setDraft(formatDayInput(parsed))\n if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n }}\n />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n aria-label=\"Open calendar\"\n data-slot=\"day-picker-input-trigger\"\n className=\"absolute left-[13px] top-1/2 -translate-y-1/2 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n onPointerDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onClick={() => {\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n setOpen(true)\n }}\n >\n <CalendarDays aria-hidden className=\"size-4\" />\n </button>\n\n {open && !disabled && (() => {\n const selectedDay = draft.trim() === \"\"\n ? undefined\n : draftSelection ?? value ?? undefined\n\n const popover = (\n <>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n onPointerDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n onMouseDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={selectedDay}\n onSelect={(date) => {\n if (!date) {\n if (value) {\n commitValue(null)\n }\n setDraft(\"\")\n closePopover()\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setDraft(formatDayInput(normalized))\n closePopover()\n }}\n {...dayPickerProps}\n />\n </div>\n </>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n }\n)\n\nDayPickerInput.displayName = \"DayPickerInput\"\n\nexport type DayPickerFieldProps = {\n id?: string\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n className?: string\n inputClassName?: string\n placeholder?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n triggerTestId?: string\n isHydrated?: boolean\n}\n\nfunction DayPickerButtonField({\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n}: DayPickerFieldProps) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const openRef = React.useRef(false)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n openRef.current = open\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n\n const ownerDocument = rootRef.current?.ownerDocument ?? document\n const ownerWindow = ownerDocument.defaultView ?? window\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n if (!openRef.current) return\n const target = event.target\n if (!(target instanceof Node)) return\n if (!rootRef.current?.contains(target) && !popoverRef.current?.contains(target)) return\n event.preventDefault()\n event.stopPropagation()\n setOpen(false)\n }\n\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown, true)\n ownerWindow.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\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(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - 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 setPopoverPosition({ left, top })\n }, [])\n\n // React Compiler rejects hook aliasing (useIsomorphicLayoutEffect pattern), so we\n // call useLayoutEffect directly and keep the SSR guard inside the effect.\n React.useLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <button\n id={id}\n type=\"button\"\n disabled={disabled}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n data-slot=\"day-picker-input-input\"\n className={cn(\n \"flex h-10 w-full items-center rounded-md border border-input bg-background px-3 py-2 text-left text-base ring-offset-background 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 !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n inputClassName,\n )}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <CalendarDays\n aria-hidden\n className=\"mr-2 size-4 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n />\n {value ? formatDayInput(value) : placeholder}\n </button>\n\n {open && !disabled && (() => {\n const popover = (\n <>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={value ?? undefined}\n onSelect={(date) => {\n if (!date) {\n commitValue(null)\n setOpen(false)\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setOpen(false)\n }}\n {...dayPickerProps}\n />\n </div>\n </>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n}\n\nexport function DayPickerField(props: DayPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <DayPickerButtonField {...props} />\n }\n\n const {\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n open,\n onOpenChange,\n } = props\n\n return (\n <DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />\n )\n}\n"],"mappings":"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"}
|
package/dist/index183.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index183.js","names":[],"sources":["../../../node_modules/@base-ui/utils/formatErrorMessage.mjs"],"sourcesContent":["/**\n * Creates a formatErrorMessage function with a custom URL and prefix.\n * @param baseUrl - The base URL for the error page (e.g., 'https://base-ui.com/production-error')\n * @param prefix - The prefix for the error message (e.g., 'Base UI')\n * @returns A function that formats error messages with the given URL and prefix\n */\nexport function createFormatErrorMessage(baseUrl, prefix) {\n return function formatErrorMessage(code, ...args) {\n const url = new URL(baseUrl);\n url.searchParams.set('code', code.toString());\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `${prefix} error #${code}; visit ${url} for the full message.`;\n };\n}\n\n/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/internal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n */\nconst formatErrorMessage = createFormatErrorMessage('https://base-ui.com/production-error', 'Base UI');\nexport default formatErrorMessage;"],"
|
|
1
|
+
{"version":3,"file":"index183.js","names":["createFormatErrorMessage","args","url","baseUrl","code","arg","prefix","formatErrorMessage"],"sources":["../../../node_modules/@base-ui/utils/formatErrorMessage.mjs"],"sourcesContent":["/**\n * Creates a formatErrorMessage function with a custom URL and prefix.\n * @param baseUrl - The base URL for the error page (e.g., 'https://base-ui.com/production-error')\n * @param prefix - The prefix for the error message (e.g., 'Base UI')\n * @returns A function that formats error messages with the given URL and prefix\n */\nexport function createFormatErrorMessage(baseUrl, prefix) {\n return function formatErrorMessage(code, ...args) {\n const url = new URL(baseUrl);\n url.searchParams.set('code', code.toString());\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `${prefix} error #${code}; visit ${url} for the full message.`;\n };\n}\n\n/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/internal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n */\nconst formatErrorMessage = createFormatErrorMessage('https://base-ui.com/production-error', 'Base UI');\nexport default formatErrorMessage;"],"ignoreList":[0],"mappings":";AAMA,SAAgBA,EAAyB,GAAS,GAAQ;CACxD,OAAO,SAA4B,GAAM,GAAGC,GAAM;EAChD,IAAMC,IAAM,IAAI,IAAIC,CAAO;EAG3B,OAFAD,EAAI,aAAa,IAAI,QAAQE,EAAK,SAAS,CAAC,GAC5CH,EAAK,SAAQ,MAAOC,EAAI,aAAa,OAAO,UAAUG,CAAG,CAAC,GACnD,GAAGC,EAAO,UAAUF,EAAK,UAAUF,EAAI;CAChD;AACF;AAWA,IAAMK,IAAqBP,EAAyB,wCAAwC,SAAS"}
|
package/dist/index184.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index184.js","names":["React","_formatErrorMessage"],"sources":["../../../node_modules/@base-ui/react/dialog/root/DialogRootContext.mjs"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const DialogRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") DialogRootContext.displayName = \"DialogRootContext\";\nexport function useDialogRootContext(optional) {\n const store = React.useContext(DialogRootContext);\n if (!optional && store === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: DialogRootContext is missing. Dialog parts must be placed within <Dialog.Root>.' : _formatErrorMessage(27));\n }\n return store;\n}"],"
|
|
1
|
+
{"version":3,"file":"index184.js","names":["React","_formatErrorMessage","formatErrorMessage","React$1","DialogRootContext","useDialogRootContext","store","optional"],"sources":["../../../node_modules/@base-ui/react/dialog/root/DialogRootContext.mjs"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const DialogRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") DialogRootContext.displayName = \"DialogRootContext\";\nexport function useDialogRootContext(optional) {\n const store = React.useContext(DialogRootContext);\n if (!optional && store === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: DialogRootContext is missing. Dialog parts must be placed within <Dialog.Root>.' : _formatErrorMessage(27));\n }\n return store;\n}"],"ignoreList":[0],"mappings":";;;;AAIA,IAAaI,IAAiC,gBAAM,cAAc,KAAA,CAAS;AAC3E,QAAA,IAAA,aAA6B,iBAAc,EAAkB,cAAc;AAC3E,SAAgBC,EAAqB,GAAU;CAC7C,IAAMC,IAAQN,EAAM,WAAWI,CAAiB;CAChD,IAAI,CAACG,KAAYD,MAAU,KAAA,GACzB,MAAU,MAAA,QAAA,IAAA,aAA+B,eAA4GL,EAAoB,EAAE,IAAnH,0FAAoH;CAE9K,OAAOK;AACT"}
|
package/dist/index185.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index185.js","names":["React"],"sources":["../../../node_modules/@base-ui/utils/useRefWithInit.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useRefWithInit(sortColumns, columns)\n */\n\nexport function useRefWithInit(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}"],"
|
|
1
|
+
{"version":3,"file":"index185.js","names":["React","React$1","UNINITIALIZED","useRefWithInit","ref","init","initArg"],"sources":["../../../node_modules/@base-ui/utils/useRefWithInit.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useRefWithInit(sortColumns, columns)\n */\n\nexport function useRefWithInit(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}"],"ignoreList":[0],"mappings":";;;AAGA,IAAME,IAAgB,CAAC;AAUvB,SAAgBC,EAAe,GAAM,GAAS;CAC5C,IAAMC,IAAMJ,EAAM,OAAOE,CAAa;CAItC,OAHIE,EAAI,YAAYF,MAClB,EAAI,UAAUG,EAAKC,CAAO,IAErBF;AACT"}
|
package/dist/index186.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index186.js","names":[],"sources":["../../../node_modules/@base-ui/utils/useMergedRefs.mjs"],"sourcesContent":["import { useRefWithInit } from \"./useRefWithInit.mjs\";\n\n/**\n * Merges refs into a single memoized callback ref or `null`.\n * This makes sure multiple refs are updated together and have the same value.\n *\n * This function accepts up to four refs. If you need to merge more, or have an unspecified number of refs to merge,\n * use `useMergedRefsN` instead.\n */\n\nexport function useMergedRefs(a, b, c, d) {\n const forkRef = useRefWithInit(createForkRef).current;\n if (didChange(forkRef, a, b, c, d)) {\n update(forkRef, [a, b, c, d]);\n }\n return forkRef.callback;\n}\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n *\n * If you need to merge a fixed number (up to four) of refs, use `useMergedRefs` instead for better performance.\n */\nexport function useMergedRefsN(refs) {\n const forkRef = useRefWithInit(createForkRef).current;\n if (didChangeN(forkRef, refs)) {\n update(forkRef, refs);\n }\n return forkRef.callback;\n}\nfunction createForkRef() {\n return {\n callback: null,\n cleanup: null,\n refs: []\n };\n}\nfunction didChange(forkRef, a, b, c, d) {\n // prettier-ignore\n return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;\n}\nfunction didChangeN(forkRef, newRefs) {\n return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);\n}\nfunction update(forkRef, refs) {\n forkRef.refs = refs;\n if (refs.every(ref => ref == null)) {\n forkRef.callback = null;\n return;\n }\n forkRef.callback = instance => {\n if (forkRef.cleanup) {\n forkRef.cleanup();\n forkRef.cleanup = null;\n }\n if (instance != null) {\n const cleanupCallbacks = Array(refs.length).fill(null);\n for (let i = 0; i < refs.length; i += 1) {\n const ref = refs[i];\n if (ref == null) {\n continue;\n }\n switch (typeof ref) {\n case 'function':\n {\n const refCleanup = ref(instance);\n if (typeof refCleanup === 'function') {\n cleanupCallbacks[i] = refCleanup;\n }\n break;\n }\n case 'object':\n {\n ref.current = instance;\n break;\n }\n default:\n }\n }\n forkRef.cleanup = () => {\n for (let i = 0; i < refs.length; i += 1) {\n const ref = refs[i];\n if (ref == null) {\n continue;\n }\n switch (typeof ref) {\n case 'function':\n {\n const cleanupCallback = cleanupCallbacks[i];\n if (typeof cleanupCallback === 'function') {\n cleanupCallback();\n } else {\n // Legacy ref with no attach-time cleanup: detach by calling it with `null`.\n // It returns nothing; React 19 cleanups are handled in the branch above.\n void ref(null);\n }\n break;\n }\n case 'object':\n {\n ref.current = null;\n break;\n }\n default:\n }\n }\n };\n }\n };\n}"],"
|
|
1
|
+
{"version":3,"file":"index186.js","names":["useMergedRefs","forkRef","useRefWithInit","createForkRef","didChange","a","b","c","d","update","useMergedRefsN","didChangeN","refs","newRefs","ref","index","instance","cleanupCallbacks","i","refCleanup","cleanupCallback"],"sources":["../../../node_modules/@base-ui/utils/useMergedRefs.mjs"],"sourcesContent":["import { useRefWithInit } from \"./useRefWithInit.mjs\";\n\n/**\n * Merges refs into a single memoized callback ref or `null`.\n * This makes sure multiple refs are updated together and have the same value.\n *\n * This function accepts up to four refs. If you need to merge more, or have an unspecified number of refs to merge,\n * use `useMergedRefsN` instead.\n */\n\nexport function useMergedRefs(a, b, c, d) {\n const forkRef = useRefWithInit(createForkRef).current;\n if (didChange(forkRef, a, b, c, d)) {\n update(forkRef, [a, b, c, d]);\n }\n return forkRef.callback;\n}\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n *\n * If you need to merge a fixed number (up to four) of refs, use `useMergedRefs` instead for better performance.\n */\nexport function useMergedRefsN(refs) {\n const forkRef = useRefWithInit(createForkRef).current;\n if (didChangeN(forkRef, refs)) {\n update(forkRef, refs);\n }\n return forkRef.callback;\n}\nfunction createForkRef() {\n return {\n callback: null,\n cleanup: null,\n refs: []\n };\n}\nfunction didChange(forkRef, a, b, c, d) {\n // prettier-ignore\n return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;\n}\nfunction didChangeN(forkRef, newRefs) {\n return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);\n}\nfunction update(forkRef, refs) {\n forkRef.refs = refs;\n if (refs.every(ref => ref == null)) {\n forkRef.callback = null;\n return;\n }\n forkRef.callback = instance => {\n if (forkRef.cleanup) {\n forkRef.cleanup();\n forkRef.cleanup = null;\n }\n if (instance != null) {\n const cleanupCallbacks = Array(refs.length).fill(null);\n for (let i = 0; i < refs.length; i += 1) {\n const ref = refs[i];\n if (ref == null) {\n continue;\n }\n switch (typeof ref) {\n case 'function':\n {\n const refCleanup = ref(instance);\n if (typeof refCleanup === 'function') {\n cleanupCallbacks[i] = refCleanup;\n }\n break;\n }\n case 'object':\n {\n ref.current = instance;\n break;\n }\n default:\n }\n }\n forkRef.cleanup = () => {\n for (let i = 0; i < refs.length; i += 1) {\n const ref = refs[i];\n if (ref == null) {\n continue;\n }\n switch (typeof ref) {\n case 'function':\n {\n const cleanupCallback = cleanupCallbacks[i];\n if (typeof cleanupCallback === 'function') {\n cleanupCallback();\n } else {\n // Legacy ref with no attach-time cleanup: detach by calling it with `null`.\n // It returns nothing; React 19 cleanups are handled in the branch above.\n void ref(null);\n }\n break;\n }\n case 'object':\n {\n ref.current = null;\n break;\n }\n default:\n }\n }\n };\n }\n };\n}"],"ignoreList":[0],"mappings":";;AAUA,SAAgBA,EAAc,GAAG,GAAG,GAAG,GAAG;CACxC,IAAMC,IAAUC,EAAeC,CAAa,CAAC,CAAC;CAI9C,OAHIC,EAAUH,GAASI,GAAGC,GAAGC,GAAGC,CAAC,KAC/BC,EAAOR,GAAS;EAACI;EAAGC;EAAGC;EAAGC;CAAC,CAAC,GAEvBP,EAAQ;AACjB;AAOA,SAAgBS,EAAe,GAAM;CACnC,IAAMT,IAAUC,EAAeC,CAAa,CAAC,CAAC;CAI9C,OAHIQ,EAAWV,GAASW,CAAI,KAC1BH,EAAOR,GAASW,CAAI,GAEfX,EAAQ;AACjB;AACA,SAASE,IAAgB;CACvB,OAAO;EACL,UAAU;EACV,SAAS;EACT,MAAM,CAAC;CACT;AACF;AACA,SAASC,EAAU,GAAS,GAAG,GAAG,GAAG,GAAG;CAEtC,OAAOH,EAAQ,KAAK,OAAOI,KAAKJ,EAAQ,KAAK,OAAOK,KAAKL,EAAQ,KAAK,OAAOM,KAAKN,EAAQ,KAAK,OAAOO;AACxG;AACA,SAASG,EAAW,GAAS,GAAS;CACpC,OAAOV,EAAQ,KAAK,WAAWY,EAAQ,UAAUZ,EAAQ,KAAK,MAAM,GAAK,MAAUa,MAAQD,EAAQE,EAAM;AAC3G;AACA,SAASN,EAAO,GAAS,GAAM;CAE7B,IADA,EAAQ,OAAOG,GACXA,EAAK,OAAM,MAAOE,KAAO,IAAI,GAAG;EAClC,EAAQ,WAAW;EACnB;CACF;CACA,EAAQ,YAAW,MAAY;EAK7B,IAJA,AAEEb,EAAQ,aADRA,EAAQ,QAAQ,GACE,OAEhBe,KAAY,MAAM;GACpB,IAAMC,IAAmB,MAAML,EAAK,MAAM,CAAC,CAAC,KAAK,IAAI;GACrD,KAAK,IAAIM,IAAI,GAAGA,IAAIN,EAAK,QAAQ,KAAK,GAAG;IACvC,IAAME,IAAMF,EAAKM;IACjB,IAAIJ,KAAO,MAGX,QAAQ,OAAOA,GAAf;KACE,KAAK,YACH;MACE,IAAMK,IAAaL,EAAIE,CAAQ;MAC/B,AAAI,OAAOG,KAAe,eACxB,EAAiBD,KAAKC;MAExB;KACF;KACF,KAAK,UAED,EAAI,UAAUH;IAIpB;GACF;GACA,EAAQ,gBAAgB;IACtB,KAAK,IAAIE,IAAI,GAAGA,IAAIN,EAAK,QAAQ,KAAK,GAAG;KACvC,IAAME,IAAMF,EAAKM;KACjB,IAAIJ,KAAO,MAGX,QAAQ,OAAOA,GAAf;MACE,KAAK,YACH;OACE,IAAMM,IAAkBH,EAAiBC;OACzC,AAAI,OAAOE,KAAoB,aAC7BA,EAAgB,IAIhBN,EAAS,IAAI;OAEf;MACF;MACF,KAAK,UAED,EAAI,UAAU;KAIpB;IACF;GACF;EACF;CACF;AACF"}
|
package/dist/index187.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index187.js","names":["React"],"sources":["../../../node_modules/@base-ui/utils/reactVersion.mjs"],"sourcesContent":["import * as React from 'react';\nconst majorVersion = parseInt(React.version, 10);\nexport function isReactVersionAtLeast(reactVersionToCheck) {\n return majorVersion >= reactVersionToCheck;\n}"],"
|
|
1
|
+
{"version":3,"file":"index187.js","names":["React","React$1","majorVersion","isReactVersionAtLeast","reactVersionToCheck"],"sources":["../../../node_modules/@base-ui/utils/reactVersion.mjs"],"sourcesContent":["import * as React from 'react';\nconst majorVersion = parseInt(React.version, 10);\nexport function isReactVersionAtLeast(reactVersionToCheck) {\n return majorVersion >= reactVersionToCheck;\n}"],"ignoreList":[0],"mappings":";;AACA,IAAME,IAAe,SAASF,EAAM,SAAS,EAAE;AAC/C,SAAgBG,EAAsB,GAAqB;CACzD,OAAOD,KAAgBE;AACzB"}
|
package/dist/index188.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index188.js","names":[],"sources":["../../../node_modules/@base-ui/utils/getReactElementRef.mjs"],"sourcesContent":["import * as React from 'react';\nimport { isReactVersionAtLeast } from \"./reactVersion.mjs\";\n\n/**\n * Extracts the `ref` from a React element, handling different React versions.\n */\nexport function getReactElementRef(element) {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n return null;\n }\n const reactElement = element;\n const propsWithRef = reactElement.props;\n return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;\n}"],"
|
|
1
|
+
{"version":3,"file":"index188.js","names":["React$1","getReactElementRef","element","reactElement","propsWithRef","isReactVersionAtLeast"],"sources":["../../../node_modules/@base-ui/utils/getReactElementRef.mjs"],"sourcesContent":["import * as React from 'react';\nimport { isReactVersionAtLeast } from \"./reactVersion.mjs\";\n\n/**\n * Extracts the `ref` from a React element, handling different React versions.\n */\nexport function getReactElementRef(element) {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n return null;\n }\n const reactElement = element;\n const propsWithRef = reactElement.props;\n return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;\n}"],"ignoreList":[0],"mappings":";;;AAMA,SAAgBC,EAAmB,GAAS;CAC1C,IAAI,CAAe,gBAAM,eAAeC,CAAO,GAC7C,OAAO;CAET,IAAMC,IAAeD,GACfE,IAAeD,EAAa;CAClC,QAAQE,EAAsB,EAAE,IAAID,GAAc,MAAMD,EAAa,QAAQ;AAC/E"}
|
package/dist/index189.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index189.js","names":[],"sources":["../../../node_modules/@base-ui/utils/mergeObjects.mjs"],"sourcesContent":["export function mergeObjects(a, b) {\n if (a && !b) {\n return a;\n }\n if (!a && b) {\n return b;\n }\n if (a || b) {\n return {\n ...a,\n ...b\n };\n }\n return undefined;\n}"],"
|
|
1
|
+
{"version":3,"file":"index189.js","names":["mergeObjects","a","b"],"sources":["../../../node_modules/@base-ui/utils/mergeObjects.mjs"],"sourcesContent":["export function mergeObjects(a, b) {\n if (a && !b) {\n return a;\n }\n if (!a && b) {\n return b;\n }\n if (a || b) {\n return {\n ...a,\n ...b\n };\n }\n return undefined;\n}"],"ignoreList":[0],"mappings":";AAAA,SAAgBA,EAAa,GAAG,GAAG;CACjC,IAAIC,KAAK,CAACC,GACR,OAAOD;CAET,IAAI,CAACA,KAAKC,GACR,OAAOA;CAET,IAAID,KAAKC,GACP,OAAO;EACL,GAAGD;EACH,GAAGC;CACL;AAGJ"}
|
package/dist/index19.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index19.js","names":[],"sources":["../../../node_modules/@date-fns/tz/date/mini.js"],"sourcesContent":["import { tzOffset } from \"../tzOffset/index.js\";\n\n// TZDate stores time in two `Date` objects because native `Date` can only\n// expose local fields in the system time zone.\n//\n// The external date (`this`) stores the real timestamp. It is the value used by\n// `getTime()`, `valueOf()`, UTC getters/setters, comparisons, and arithmetic.\n// Its local getters are not used for target-zone fields because they would read\n// the timestamp through the system time zone.\n//\n// The internal date (`this.internal`) stores the target-zone wall-clock fields.\n// We read and write those fields through UTC getters/setters so the host system\n// time zone cannot reinterpret them. For example, `getHours()` returns\n// `internal.getUTCHours()`, and `setHours()` writes `internal.setUTCHours(...)`.\n//\n// Syncing moves data between the two representations:\n//\n// - `syncToInternal` starts from the external timestamp and rebuilds internal\n// wall-clock fields using `this.timeZone` offset.\n//\n// - `syncFromInternal` starts from internal wall-clock fields, writes them into\n// the external date, then adjusts that timestamp for the system/target offset\n// difference and DST edge cases.\n//\n// The public TZDate value is the combination of both: external is the instant,\n// internal is the wall-clock view of that instant in `this.timeZone`.\n\nexport class TZDateMini extends Date {\n //#region static\n\n constructor(...args) {\n super();\n\n // Time zone string is always the last string argument unless date string\n // is passed (as a single argument).\n if (args.length > 1 && typeof args[args.length - 1] === \"string\") {\n this.timeZone = args.pop();\n }\n this.internal = new Date();\n\n // Validate the time zone by checking its offset.\n if (isNaN(tzOffset(this.timeZone, this))) {\n this.setTime(NaN);\n } else {\n if (!args.length) {\n // No arguments passed: use current time\n this.setTime(Date.now());\n } else if (typeof args[0] === \"number\" && (args.length === 1 || args.length === 2 && typeof args[1] !== \"number\")) {\n // Timestamp passed: use it as is\n this.setTime(args[0]);\n } else if (typeof args[0] === \"string\") {\n // `Date` string passed: parse it as external date\n this.setTime(+new Date(args[0]));\n } else if (args[0] instanceof Date) {\n // `Date` passed: use its timestamp\n this.setTime(+args[0]);\n } else {\n // `Date` values passed:\n\n // Set it as external date.\n this.setTime(+new Date(...args));\n\n // Adjust internal and external dates considering that we might have\n // landed on the DST hour.\n adjustToSystemTZ(this, args);\n }\n }\n }\n static tz(tz, ...args) {\n return args.length ? new TZDateMini(...args, tz) : new TZDateMini(Date.now(), tz);\n }\n\n //#endregion\n\n //#region time zone\n\n withTimeZone(timeZone) {\n return new TZDateMini(+this, timeZone);\n }\n getTimezoneOffset() {\n const offset = -tzOffset(this.timeZone, this);\n // Remove the seconds offset using `Math.floor` for negative UTC time zones\n // and `Math.ceil` for positive UTC time zones.\n return offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n }\n\n //#endregion\n\n //#region time\n\n setTime(_time) {\n // Use the native `setTime` to the external date time.\n Date.prototype.setTime.apply(this, arguments);\n\n // Then apply it to the internal date adjusting to the timezone offset.\n syncToInternal(this);\n return +this;\n }\n\n //#endregion\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDateMini(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\n\n// Assign getters and setters\nconst re = /^(get|set)(?!UTC)/;\nObject.getOwnPropertyNames(Date.prototype).forEach(method => {\n if (!re.test(method)) return;\n const utcMethod = method.replace(re, \"$1UTC\");\n // Filter out methods without UTC counterparts\n if (!TZDateMini.prototype[utcMethod]) return;\n if (method.startsWith(\"get\")) {\n // Delegate to internal date's UTC method\n TZDateMini.prototype[method] = function () {\n return this.internal[utcMethod]();\n };\n } else {\n // Assign regular setter\n TZDateMini.prototype[method] = function () {\n Date.prototype[utcMethod].apply(this.internal, arguments);\n syncFromInternal(this);\n return +this;\n };\n\n // Assign UTC setter\n TZDateMini.prototype[utcMethod] = function () {\n Date.prototype[utcMethod].apply(this, arguments);\n syncToInternal(this);\n return +this;\n };\n }\n});\n\n/**\n * @internal\n * Function syncs time to internal date, applying the current time zone offset.\n *\n * @param {Date} date - `Date` to sync\n */\nfunction syncToInternal(date) {\n // Start internal from the same real timestamp as external.\n date.internal.setTime(+date);\n\n // Shift internal by the target offset so its UTC fields become the target-zone\n // wall-clock fields for the external timestamp.\n //\n // o internal UTC fields: 2024-02-11 00:00\n // |\n // | + Asia/Singapore offset (+08:00)\n // v\n // x internal UTC fields: 2024-02-11 08:00\n //\n date.internal.setUTCSeconds(date.internal.getUTCSeconds() -\n // Round after converting minutes to seconds to avoid fractional offset\n // precision errors from historical offsets.\n Math.round(-tzOffset(date.timeZone, date) * 60));\n}\n\n/**\n * @internal\n * Function syncs internal wall-clock fields into the external date.\n *\n * @param {Date} date - The date to sync\n */\nfunction syncFromInternal(date) {\n // Copy target-zone wall-clock fields from internal into external using native\n // local setters. At this point external holds the right field values but they\n // are interpreted in the system time zone; `adjustToSystemTZ` fixes that.\n Date.prototype.setFullYear.call(date, date.internal.getUTCFullYear(), date.internal.getUTCMonth(), date.internal.getUTCDate());\n Date.prototype.setHours.call(date, date.internal.getUTCHours(), date.internal.getUTCMinutes(), date.internal.getUTCSeconds(), date.internal.getUTCMilliseconds());\n\n // Now we have to adjust the date to the system time zone\n adjustToSystemTZ(date);\n}\n\n/**\n * @internal\n * Function adjusts the date to the system time zone. It uses the time zone\n * differences to calculate the offset and adjust the date.\n *\n * We use it when constructing `TZDate` and syncing the external date from\n * the internal one.\n *\n * @param {TZDate} date - `TZDate` to adjust.\n */\nfunction adjustToSystemTZ(date, constructorArgs) {\n // Keep the intended target-zone wall-clock value before native Date/system\n // time zone normalization can move it. Later corrections compare against this\n // value to distinguish intended DST normalization from accidental drift.\n const expectedInternalTime = Array.isArray(constructorArgs) ? constructorArgsToInternalTime(constructorArgs) : +date.internal;\n //#region Initial offset calculation\n\n // Current target time zone offset at the native timestamp. It may include\n // historical offset seconds, which we preserve for the seconds adjustment.\n const offsetWithSeconds = tzOffset(date.timeZone, date);\n\n // Minute-precision target offset used by minute-based timestamp adjustments.\n // Historical offsets can contain seconds, so we strip the fractional minute\n // here and handle remaining seconds in the seconds adjustment below.\n const offset = offsetWithSeconds > 0 ? Math.floor(offsetWithSeconds) : Math.ceil(offsetWithSeconds);\n\n //#endregion\n\n //#region System DST adjustment\n\n // Native `Date` may normalize the requested wall time when the system time\n // zone skips that hour for DST.\n //\n // We compare the system wall-clock hour represented by the external date with\n // the wall-clock hour stored in the internal date. If they differ, the next\n // offset-diff calculation may need the previous system offset, because the\n // current external timestamp is already after the system DST jump.\n\n // Previous-hour reference used to detect whether the system offset changed\n // immediately before the current native timestamp.\n const prevHour = new Date(+date);\n\n // Use UTC math so subtracting one hour cannot be normalized back into the\n // same missing local DST hour.\n prevHour.setUTCHours(prevHour.getUTCHours() - 1);\n\n // Current system offset at the native timestamp.\n const systemOffset = -new Date(+date).getTimezoneOffset();\n\n // System offset one real hour before the native timestamp.\n const prevHourSystemOffset = -new Date(+prevHour).getTimezoneOffset();\n\n // Non-zero when the system offset changed between `prevHour` and `date`.\n const systemDSTChange = systemOffset - prevHourSystemOffset;\n\n // System offset to use in the later system-target offset difference.\n // Defaults to the current system offset and switches to the previous offset\n // only when native `Date` normalized a missing system wall time.\n let systemOffsetForDiff = systemOffset;\n if (systemDSTChange && systemOffset !== offset) {\n // System wall-clock hour represented by the current external timestamp.\n const systemHour = Date.prototype.getHours.apply(date);\n\n // Target wall-clock hour currently stored in internal fields. Constructors\n // get it from arguments because internal may have already been synced from\n // the normalized external timestamp; setters get it directly from internal.\n const expectedHour = Array.isArray(constructorArgs) ? constructorArgs[3] || 0 : date.internal.getUTCHours();\n if (systemHour !== expectedHour) {\n // Check whether using the current system offset would keep the target\n // offset unchanged. If so, the only DST jump we crossed is the system\n // one, so the diff should use the pre-DST system offset.\n const testDate = new Date(+date);\n\n // Difference that the later offset-diff step would apply with the\n // current system offset.\n const testOffsetDiff = systemOffset - offset;\n if (testOffsetDiff) testDate.setUTCMinutes(testDate.getUTCMinutes() + testOffsetDiff);\n\n // Target offset after applying the current system offset difference.\n const testOffsetWithSeconds = tzOffset(date.timeZone, testDate);\n\n // Target offset without historical seconds, matching `offset`.\n const testOffset = testOffsetWithSeconds > 0 ? Math.floor(testOffsetWithSeconds) : Math.ceil(testOffsetWithSeconds);\n if (testOffset === offset) systemOffsetForDiff = prevHourSystemOffset;\n }\n }\n\n //#endregion\n\n //#region System diff adjustment\n\n // Move external from the system-zone interpretation of internal fields toward\n // the timestamp that represents those fields in the target time zone.\n //\n // At this point native `Date` has treated the internal wall-clock fields as if\n // they belonged to the system zone. The system-target offset difference moves\n // external by the distance between that system interpretation and the target\n // interpretation.\n\n // Difference between the system offset selected above and the minute-precision\n // target offset. Positive values move external forward; negative values move\n // it backward.\n const offsetDiff = systemOffsetForDiff - offset;\n if (offsetDiff)\n // Apply the system-target minute difference to external. Internal is\n // rebuilt from the final external timestamp after all adjustments are\n // complete.\n //\n // o external as target: 2023-01-31 23:00\n // |\n // | add `offsetDiff`\n // v\n // x external as target: 2023-02-01 12:00\n //\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetDiff);\n\n //#endregion\n\n //#region Seconds system diff adjustment\n\n // Historical time zone offsets can include seconds, but the minute-based\n // offset adjustment above intentionally used minute precision.\n //\n // This adjustment applies the remaining seconds difference to external. For\n // example, historical Singapore used UTC+06:55:25, while ISO formatting shows\n // only `+06:55`; without the seconds correction, setter paths keep the wrong\n // wall-clock seconds.\n\n // Clone external as a native `Date` so we can inspect how the system time zone\n // represents the same timestamp.\n const systemDate = new Date(+date);\n\n // Zero UTC seconds before reading system seconds. Any remaining local seconds\n // then come from the system time zone offset rather than from the timestamp's\n // own seconds value.\n systemDate.setUTCSeconds(0);\n\n // Seconds part contributed by the system time zone offset. Negative offsets\n // need wrapping because `Date#getSeconds()` returns values in the 0..59 range.\n const systemSecondsOffset = systemOffset > 0 ? systemDate.getSeconds() : (systemDate.getSeconds() - 60) % 60;\n\n // Seconds part contributed by the target time zone offset.\n const secondsOffset = Math.round(-(tzOffset(date.timeZone, date) * 60)) % 60;\n if (secondsOffset || systemSecondsOffset)\n // Apply the remaining second-level system-target difference to external.\n //\n // o external as Asia/Singapore: 1900-01-01 00:00:56\n // |\n // | + `secondsOffset`\n // | + `systemSecondsOffset`\n // v\n // x external as Asia/Singapore: 1900-01-01 00:00:31\n //\n Date.prototype.setUTCSeconds.call(date, Date.prototype.getUTCSeconds.call(date) + secondsOffset + systemSecondsOffset);\n\n //#endregion\n\n //#region Post-adjustment DST fix\n\n // The first system-target offset move can cross a target-zone DST boundary.\n //\n // When that happens, the target offset at the new external timestamp differs\n // from the target offset used for `offsetDiff`. We compare the original move\n // with the move that would be calculated at the new timestamp, then apply the\n // difference to external.\n\n // Target offset at the current external timestamp, including historical\n // seconds for the later seconds adjustment.\n const postOffsetWithSeconds = tzOffset(date.timeZone, date);\n\n // Minute-precision target offset at the current external timestamp.\n const postOffset = postOffsetWithSeconds > 0 ? Math.floor(postOffsetWithSeconds) : Math.ceil(postOffsetWithSeconds);\n\n // System offset at the current external timestamp.\n const postSystemOffset = -new Date(+date).getTimezoneOffset();\n\n // System-target offset difference at the current external timestamp.\n const postOffsetDiff = postSystemOffset - postOffset;\n\n // Whether the target offset changed after the first offset move.\n const offsetChanged = postOffset !== offset;\n\n // Difference between the current offset move and the move already applied.\n const postDiff = postOffsetDiff - offsetDiff;\n\n // If the first offset move already normalized a target DST gap forward, the\n // generic post-DST correction below would undo that valid normalization. This\n // happens, for example, with America/New_York 02:00 during spring-forward when\n // the system zone also changes offset around the same instant.\n const targetDSTShift = postOffset - offset;\n\n // Candidate timestamp that would represent the requested wall-clock time with\n // the post-transition target offset. If it still does not round-trip to the\n // requested wall-clock fields, the requested time is inside a target DST gap.\n const postOffsetCandidate = expectedInternalTime - postOffset * 60 * 1000;\n\n // Only positive target offset shifts are spring-forward gaps. Negative shifts\n // are fall-back overlaps and still need the regular post-adjustment path.\n const normalizedTargetDSTGap = targetDSTShift > 0 && targetInternalTime(date) - expectedInternalTime === targetDSTShift * 60 * 1000 && targetInternalTime(date, postOffsetCandidate) !== expectedInternalTime;\n if (offsetChanged && postDiff && !normalizedTargetDSTGap) {\n // Apply the target-DST correction to external. In the backward-crossing case\n // shown here, this lands on an intermediate value that needs `offsetChange`\n // below.\n //\n // o external as America/New_York: 2023-03-12 03:00 EDT\n // |\n // | + `postDiff`\n // v\n // x external as America/New_York: 2023-03-12 01:00 EST\n //\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + postDiff);\n\n // Target offset after applying `postDiff`. It may change again if the\n // correction itself crosses a target-zone DST boundary.\n const newOffsetWithSeconds = tzOffset(date.timeZone, date);\n\n // Minute-precision target offset after applying `postDiff`.\n const newOffset = newOffsetWithSeconds > 0 ? Math.floor(newOffsetWithSeconds) : Math.ceil(newOffsetWithSeconds);\n\n // Offset change caused by the `postDiff` move itself.\n const offsetChange = postOffset - newOffset;\n\n // If the correction moved external backward across the target DST boundary,\n // apply the boundary change so external lands on the valid target-zone\n // timestamp. Forward crossings are already normalized by native Date, and\n // applying this correction there would undo the valid post-DST result.\n if (offsetChange && postDiff < 0) {\n // Apply the second target-DST correction to external.\n //\n // o external as America/New_York: 2023-03-12 01:00 EST\n // |\n // | + `offsetChange`\n // v\n // x external as America/New_York: 2023-03-12 03:00 EDT\n //\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetChange);\n }\n }\n\n //#endregion\n\n // Rebuild internal wall-clock fields from the final external timestamp.\n syncToInternal(date);\n\n // Native Date can normalize historical system offsets with minute and second\n // precision before we adjust to the target time zone. Correct only small\n // historical drift so DST gap normalization (usually one hour) remains intact.\n const expectedTime = constructorArgs ? expectedInternalTime : expectedInternalTime + secondsOffset * 1000;\n const drift = expectedTime - +date.internal;\n if (drift && Math.abs(drift) < 30 * 60 * 1000) {\n Date.prototype.setTime.call(date, +date + drift);\n syncToInternal(date);\n }\n}\nfunction constructorArgsToInternalTime(args) {\n // Mirror Date's date-value constructor defaults while preserving explicit\n // `undefined` behavior. Missing month/day default, but passed `undefined`\n // should remain invalid just like `Date.UTC(year, undefined, ...)`.\n return Date.UTC(args[0], args.length > 1 ? args[1] : 0, args.length > 2 ? args[2] : 1, ...args.slice(3));\n}\nfunction targetInternalTime(date, time) {\n // Compute the target-zone wall-clock representation for a timestamp without\n // mutating the TZDate. This mirrors syncToInternal for temporary checks.\n const internal = new Date(time ?? +date);\n internal.setUTCSeconds(internal.getUTCSeconds() - Math.round(-tzOffset(date.timeZone, internal) * 60));\n return +internal;\n}"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index19.js","names":["TZDateMini","args","tzOffset","adjustToSystemTZ","tz","timeZone","offset","syncToInternal","date","re","method","utcMethod","syncFromInternal","expectedInternalTime","constructorArgs","constructorArgsToInternalTime","offsetWithSeconds","prevHour","systemOffset","prevHourSystemOffset","systemDSTChange","systemOffsetForDiff","testDate","testOffsetDiff","testOffsetWithSeconds","offsetDiff","systemDate","systemSecondsOffset","secondsOffset","postOffsetWithSeconds","postOffset","postOffsetDiff","offsetChanged","postDiff","targetDSTShift","postOffsetCandidate","normalizedTargetDSTGap","targetInternalTime","newOffsetWithSeconds","offsetChange","drift","internal","time"],"sources":["../../../node_modules/@date-fns/tz/date/mini.js"],"sourcesContent":["import { tzOffset } from \"../tzOffset/index.js\";\n\n// TZDate stores time in two `Date` objects because native `Date` can only\n// expose local fields in the system time zone.\n//\n// The external date (`this`) stores the real timestamp. It is the value used by\n// `getTime()`, `valueOf()`, UTC getters/setters, comparisons, and arithmetic.\n// Its local getters are not used for target-zone fields because they would read\n// the timestamp through the system time zone.\n//\n// The internal date (`this.internal`) stores the target-zone wall-clock fields.\n// We read and write those fields through UTC getters/setters so the host system\n// time zone cannot reinterpret them. For example, `getHours()` returns\n// `internal.getUTCHours()`, and `setHours()` writes `internal.setUTCHours(...)`.\n//\n// Syncing moves data between the two representations:\n//\n// - `syncToInternal` starts from the external timestamp and rebuilds internal\n// wall-clock fields using `this.timeZone` offset.\n//\n// - `syncFromInternal` starts from internal wall-clock fields, writes them into\n// the external date, then adjusts that timestamp for the system/target offset\n// difference and DST edge cases.\n//\n// The public TZDate value is the combination of both: external is the instant,\n// internal is the wall-clock view of that instant in `this.timeZone`.\n\nexport class TZDateMini extends Date {\n //#region static\n\n constructor(...args) {\n super();\n\n // Time zone string is always the last string argument unless date string\n // is passed (as a single argument).\n if (args.length > 1 && typeof args[args.length - 1] === \"string\") {\n this.timeZone = args.pop();\n }\n this.internal = new Date();\n\n // Validate the time zone by checking its offset.\n if (isNaN(tzOffset(this.timeZone, this))) {\n this.setTime(NaN);\n } else {\n if (!args.length) {\n // No arguments passed: use current time\n this.setTime(Date.now());\n } else if (typeof args[0] === \"number\" && (args.length === 1 || args.length === 2 && typeof args[1] !== \"number\")) {\n // Timestamp passed: use it as is\n this.setTime(args[0]);\n } else if (typeof args[0] === \"string\") {\n // `Date` string passed: parse it as external date\n this.setTime(+new Date(args[0]));\n } else if (args[0] instanceof Date) {\n // `Date` passed: use its timestamp\n this.setTime(+args[0]);\n } else {\n // `Date` values passed:\n\n // Set it as external date.\n this.setTime(+new Date(...args));\n\n // Adjust internal and external dates considering that we might have\n // landed on the DST hour.\n adjustToSystemTZ(this, args);\n }\n }\n }\n static tz(tz, ...args) {\n return args.length ? new TZDateMini(...args, tz) : new TZDateMini(Date.now(), tz);\n }\n\n //#endregion\n\n //#region time zone\n\n withTimeZone(timeZone) {\n return new TZDateMini(+this, timeZone);\n }\n getTimezoneOffset() {\n const offset = -tzOffset(this.timeZone, this);\n // Remove the seconds offset using `Math.floor` for negative UTC time zones\n // and `Math.ceil` for positive UTC time zones.\n return offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n }\n\n //#endregion\n\n //#region time\n\n setTime(_time) {\n // Use the native `setTime` to the external date time.\n Date.prototype.setTime.apply(this, arguments);\n\n // Then apply it to the internal date adjusting to the timezone offset.\n syncToInternal(this);\n return +this;\n }\n\n //#endregion\n\n //#region date-fns integration\n\n [Symbol.for(\"constructDateFrom\")](date) {\n return new TZDateMini(+new Date(date), this.timeZone);\n }\n\n //#endregion\n}\n\n// Assign getters and setters\nconst re = /^(get|set)(?!UTC)/;\nObject.getOwnPropertyNames(Date.prototype).forEach(method => {\n if (!re.test(method)) return;\n const utcMethod = method.replace(re, \"$1UTC\");\n // Filter out methods without UTC counterparts\n if (!TZDateMini.prototype[utcMethod]) return;\n if (method.startsWith(\"get\")) {\n // Delegate to internal date's UTC method\n TZDateMini.prototype[method] = function () {\n return this.internal[utcMethod]();\n };\n } else {\n // Assign regular setter\n TZDateMini.prototype[method] = function () {\n Date.prototype[utcMethod].apply(this.internal, arguments);\n syncFromInternal(this);\n return +this;\n };\n\n // Assign UTC setter\n TZDateMini.prototype[utcMethod] = function () {\n Date.prototype[utcMethod].apply(this, arguments);\n syncToInternal(this);\n return +this;\n };\n }\n});\n\n/**\n * @internal\n * Function syncs time to internal date, applying the current time zone offset.\n *\n * @param {Date} date - `Date` to sync\n */\nfunction syncToInternal(date) {\n // Start internal from the same real timestamp as external.\n date.internal.setTime(+date);\n\n // Shift internal by the target offset so its UTC fields become the target-zone\n // wall-clock fields for the external timestamp.\n //\n // o internal UTC fields: 2024-02-11 00:00\n // |\n // | + Asia/Singapore offset (+08:00)\n // v\n // x internal UTC fields: 2024-02-11 08:00\n //\n date.internal.setUTCSeconds(date.internal.getUTCSeconds() -\n // Round after converting minutes to seconds to avoid fractional offset\n // precision errors from historical offsets.\n Math.round(-tzOffset(date.timeZone, date) * 60));\n}\n\n/**\n * @internal\n * Function syncs internal wall-clock fields into the external date.\n *\n * @param {Date} date - The date to sync\n */\nfunction syncFromInternal(date) {\n // Copy target-zone wall-clock fields from internal into external using native\n // local setters. At this point external holds the right field values but they\n // are interpreted in the system time zone; `adjustToSystemTZ` fixes that.\n Date.prototype.setFullYear.call(date, date.internal.getUTCFullYear(), date.internal.getUTCMonth(), date.internal.getUTCDate());\n Date.prototype.setHours.call(date, date.internal.getUTCHours(), date.internal.getUTCMinutes(), date.internal.getUTCSeconds(), date.internal.getUTCMilliseconds());\n\n // Now we have to adjust the date to the system time zone\n adjustToSystemTZ(date);\n}\n\n/**\n * @internal\n * Function adjusts the date to the system time zone. It uses the time zone\n * differences to calculate the offset and adjust the date.\n *\n * We use it when constructing `TZDate` and syncing the external date from\n * the internal one.\n *\n * @param {TZDate} date - `TZDate` to adjust.\n */\nfunction adjustToSystemTZ(date, constructorArgs) {\n // Keep the intended target-zone wall-clock value before native Date/system\n // time zone normalization can move it. Later corrections compare against this\n // value to distinguish intended DST normalization from accidental drift.\n const expectedInternalTime = Array.isArray(constructorArgs) ? constructorArgsToInternalTime(constructorArgs) : +date.internal;\n //#region Initial offset calculation\n\n // Current target time zone offset at the native timestamp. It may include\n // historical offset seconds, which we preserve for the seconds adjustment.\n const offsetWithSeconds = tzOffset(date.timeZone, date);\n\n // Minute-precision target offset used by minute-based timestamp adjustments.\n // Historical offsets can contain seconds, so we strip the fractional minute\n // here and handle remaining seconds in the seconds adjustment below.\n const offset = offsetWithSeconds > 0 ? Math.floor(offsetWithSeconds) : Math.ceil(offsetWithSeconds);\n\n //#endregion\n\n //#region System DST adjustment\n\n // Native `Date` may normalize the requested wall time when the system time\n // zone skips that hour for DST.\n //\n // We compare the system wall-clock hour represented by the external date with\n // the wall-clock hour stored in the internal date. If they differ, the next\n // offset-diff calculation may need the previous system offset, because the\n // current external timestamp is already after the system DST jump.\n\n // Previous-hour reference used to detect whether the system offset changed\n // immediately before the current native timestamp.\n const prevHour = new Date(+date);\n\n // Use UTC math so subtracting one hour cannot be normalized back into the\n // same missing local DST hour.\n prevHour.setUTCHours(prevHour.getUTCHours() - 1);\n\n // Current system offset at the native timestamp.\n const systemOffset = -new Date(+date).getTimezoneOffset();\n\n // System offset one real hour before the native timestamp.\n const prevHourSystemOffset = -new Date(+prevHour).getTimezoneOffset();\n\n // Non-zero when the system offset changed between `prevHour` and `date`.\n const systemDSTChange = systemOffset - prevHourSystemOffset;\n\n // System offset to use in the later system-target offset difference.\n // Defaults to the current system offset and switches to the previous offset\n // only when native `Date` normalized a missing system wall time.\n let systemOffsetForDiff = systemOffset;\n if (systemDSTChange && systemOffset !== offset) {\n // System wall-clock hour represented by the current external timestamp.\n const systemHour = Date.prototype.getHours.apply(date);\n\n // Target wall-clock hour currently stored in internal fields. Constructors\n // get it from arguments because internal may have already been synced from\n // the normalized external timestamp; setters get it directly from internal.\n const expectedHour = Array.isArray(constructorArgs) ? constructorArgs[3] || 0 : date.internal.getUTCHours();\n if (systemHour !== expectedHour) {\n // Check whether using the current system offset would keep the target\n // offset unchanged. If so, the only DST jump we crossed is the system\n // one, so the diff should use the pre-DST system offset.\n const testDate = new Date(+date);\n\n // Difference that the later offset-diff step would apply with the\n // current system offset.\n const testOffsetDiff = systemOffset - offset;\n if (testOffsetDiff) testDate.setUTCMinutes(testDate.getUTCMinutes() + testOffsetDiff);\n\n // Target offset after applying the current system offset difference.\n const testOffsetWithSeconds = tzOffset(date.timeZone, testDate);\n\n // Target offset without historical seconds, matching `offset`.\n const testOffset = testOffsetWithSeconds > 0 ? Math.floor(testOffsetWithSeconds) : Math.ceil(testOffsetWithSeconds);\n if (testOffset === offset) systemOffsetForDiff = prevHourSystemOffset;\n }\n }\n\n //#endregion\n\n //#region System diff adjustment\n\n // Move external from the system-zone interpretation of internal fields toward\n // the timestamp that represents those fields in the target time zone.\n //\n // At this point native `Date` has treated the internal wall-clock fields as if\n // they belonged to the system zone. The system-target offset difference moves\n // external by the distance between that system interpretation and the target\n // interpretation.\n\n // Difference between the system offset selected above and the minute-precision\n // target offset. Positive values move external forward; negative values move\n // it backward.\n const offsetDiff = systemOffsetForDiff - offset;\n if (offsetDiff)\n // Apply the system-target minute difference to external. Internal is\n // rebuilt from the final external timestamp after all adjustments are\n // complete.\n //\n // o external as target: 2023-01-31 23:00\n // |\n // | add `offsetDiff`\n // v\n // x external as target: 2023-02-01 12:00\n //\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetDiff);\n\n //#endregion\n\n //#region Seconds system diff adjustment\n\n // Historical time zone offsets can include seconds, but the minute-based\n // offset adjustment above intentionally used minute precision.\n //\n // This adjustment applies the remaining seconds difference to external. For\n // example, historical Singapore used UTC+06:55:25, while ISO formatting shows\n // only `+06:55`; without the seconds correction, setter paths keep the wrong\n // wall-clock seconds.\n\n // Clone external as a native `Date` so we can inspect how the system time zone\n // represents the same timestamp.\n const systemDate = new Date(+date);\n\n // Zero UTC seconds before reading system seconds. Any remaining local seconds\n // then come from the system time zone offset rather than from the timestamp's\n // own seconds value.\n systemDate.setUTCSeconds(0);\n\n // Seconds part contributed by the system time zone offset. Negative offsets\n // need wrapping because `Date#getSeconds()` returns values in the 0..59 range.\n const systemSecondsOffset = systemOffset > 0 ? systemDate.getSeconds() : (systemDate.getSeconds() - 60) % 60;\n\n // Seconds part contributed by the target time zone offset.\n const secondsOffset = Math.round(-(tzOffset(date.timeZone, date) * 60)) % 60;\n if (secondsOffset || systemSecondsOffset)\n // Apply the remaining second-level system-target difference to external.\n //\n // o external as Asia/Singapore: 1900-01-01 00:00:56\n // |\n // | + `secondsOffset`\n // | + `systemSecondsOffset`\n // v\n // x external as Asia/Singapore: 1900-01-01 00:00:31\n //\n Date.prototype.setUTCSeconds.call(date, Date.prototype.getUTCSeconds.call(date) + secondsOffset + systemSecondsOffset);\n\n //#endregion\n\n //#region Post-adjustment DST fix\n\n // The first system-target offset move can cross a target-zone DST boundary.\n //\n // When that happens, the target offset at the new external timestamp differs\n // from the target offset used for `offsetDiff`. We compare the original move\n // with the move that would be calculated at the new timestamp, then apply the\n // difference to external.\n\n // Target offset at the current external timestamp, including historical\n // seconds for the later seconds adjustment.\n const postOffsetWithSeconds = tzOffset(date.timeZone, date);\n\n // Minute-precision target offset at the current external timestamp.\n const postOffset = postOffsetWithSeconds > 0 ? Math.floor(postOffsetWithSeconds) : Math.ceil(postOffsetWithSeconds);\n\n // System offset at the current external timestamp.\n const postSystemOffset = -new Date(+date).getTimezoneOffset();\n\n // System-target offset difference at the current external timestamp.\n const postOffsetDiff = postSystemOffset - postOffset;\n\n // Whether the target offset changed after the first offset move.\n const offsetChanged = postOffset !== offset;\n\n // Difference between the current offset move and the move already applied.\n const postDiff = postOffsetDiff - offsetDiff;\n\n // If the first offset move already normalized a target DST gap forward, the\n // generic post-DST correction below would undo that valid normalization. This\n // happens, for example, with America/New_York 02:00 during spring-forward when\n // the system zone also changes offset around the same instant.\n const targetDSTShift = postOffset - offset;\n\n // Candidate timestamp that would represent the requested wall-clock time with\n // the post-transition target offset. If it still does not round-trip to the\n // requested wall-clock fields, the requested time is inside a target DST gap.\n const postOffsetCandidate = expectedInternalTime - postOffset * 60 * 1000;\n\n // Only positive target offset shifts are spring-forward gaps. Negative shifts\n // are fall-back overlaps and still need the regular post-adjustment path.\n const normalizedTargetDSTGap = targetDSTShift > 0 && targetInternalTime(date) - expectedInternalTime === targetDSTShift * 60 * 1000 && targetInternalTime(date, postOffsetCandidate) !== expectedInternalTime;\n if (offsetChanged && postDiff && !normalizedTargetDSTGap) {\n // Apply the target-DST correction to external. In the backward-crossing case\n // shown here, this lands on an intermediate value that needs `offsetChange`\n // below.\n //\n // o external as America/New_York: 2023-03-12 03:00 EDT\n // |\n // | + `postDiff`\n // v\n // x external as America/New_York: 2023-03-12 01:00 EST\n //\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + postDiff);\n\n // Target offset after applying `postDiff`. It may change again if the\n // correction itself crosses a target-zone DST boundary.\n const newOffsetWithSeconds = tzOffset(date.timeZone, date);\n\n // Minute-precision target offset after applying `postDiff`.\n const newOffset = newOffsetWithSeconds > 0 ? Math.floor(newOffsetWithSeconds) : Math.ceil(newOffsetWithSeconds);\n\n // Offset change caused by the `postDiff` move itself.\n const offsetChange = postOffset - newOffset;\n\n // If the correction moved external backward across the target DST boundary,\n // apply the boundary change so external lands on the valid target-zone\n // timestamp. Forward crossings are already normalized by native Date, and\n // applying this correction there would undo the valid post-DST result.\n if (offsetChange && postDiff < 0) {\n // Apply the second target-DST correction to external.\n //\n // o external as America/New_York: 2023-03-12 01:00 EST\n // |\n // | + `offsetChange`\n // v\n // x external as America/New_York: 2023-03-12 03:00 EDT\n //\n Date.prototype.setUTCMinutes.call(date, Date.prototype.getUTCMinutes.call(date) + offsetChange);\n }\n }\n\n //#endregion\n\n // Rebuild internal wall-clock fields from the final external timestamp.\n syncToInternal(date);\n\n // Native Date can normalize historical system offsets with minute and second\n // precision before we adjust to the target time zone. Correct only small\n // historical drift so DST gap normalization (usually one hour) remains intact.\n const expectedTime = constructorArgs ? expectedInternalTime : expectedInternalTime + secondsOffset * 1000;\n const drift = expectedTime - +date.internal;\n if (drift && Math.abs(drift) < 30 * 60 * 1000) {\n Date.prototype.setTime.call(date, +date + drift);\n syncToInternal(date);\n }\n}\nfunction constructorArgsToInternalTime(args) {\n // Mirror Date's date-value constructor defaults while preserving explicit\n // `undefined` behavior. Missing month/day default, but passed `undefined`\n // should remain invalid just like `Date.UTC(year, undefined, ...)`.\n return Date.UTC(args[0], args.length > 1 ? args[1] : 0, args.length > 2 ? args[2] : 1, ...args.slice(3));\n}\nfunction targetInternalTime(date, time) {\n // Compute the target-zone wall-clock representation for a timestamp without\n // mutating the TZDate. This mirrors syncToInternal for temporary checks.\n const internal = new Date(time ?? +date);\n internal.setUTCSeconds(internal.getUTCSeconds() - Math.round(-tzOffset(date.timeZone, internal) * 60));\n return +internal;\n}"],"ignoreList":[0],"mappings":"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"}
|
package/dist/index190.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
//#region ../../node_modules/@base-ui/utils/
|
|
1
|
+
//#region ../../node_modules/@base-ui/utils/createLogOnce.mjs
|
|
2
2
|
var e;
|
|
3
3
|
process.env.NODE_ENV !== "production" && (e = /* @__PURE__ */ new Set());
|
|
4
|
-
function t(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
function t(t, n) {
|
|
5
|
+
return function(...r) {
|
|
6
|
+
if (process.env.NODE_ENV !== "production") {
|
|
7
|
+
let i = r.join(" "), a = n ? `${n}: ${i}` : i, o = `${t}:${a}`;
|
|
8
|
+
e.has(o) || (e.add(o), t === "warn" ? console.warn(a) : console.error(a));
|
|
9
|
+
}
|
|
10
|
+
};
|
|
9
11
|
}
|
|
10
12
|
//#endregion
|
|
11
|
-
export { t as
|
|
13
|
+
export { t as createLogOnce };
|
|
12
14
|
|
|
13
15
|
//# sourceMappingURL=index190.js.map
|
package/dist/index190.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index190.js","names":[],"sources":["../../../node_modules/@base-ui/utils/
|
|
1
|
+
{"version":3,"file":"index190.js","names":["loggedMessages","createLogOnce","messages","message","output","prefix","key","severity"],"sources":["../../../node_modules/@base-ui/utils/createLogOnce.mjs"],"sourcesContent":["let loggedMessages;\nif (process.env.NODE_ENV !== 'production') {\n loggedMessages = new Set();\n}\n\n/** Creates a dev-only logger that writes each unique message to `console[severity]` once. */\nexport function createLogOnce(severity, prefix) {\n return function logOnce(...messages) {\n if (process.env.NODE_ENV !== 'production') {\n const message = messages.join(' ');\n const output = prefix ? `${prefix}: ${message}` : message;\n const key = `${severity}:${output}`;\n if (!loggedMessages.has(key)) {\n loggedMessages.add(key);\n if (severity === 'warn') {\n console.warn(output);\n } else {\n console.error(output);\n }\n }\n }\n };\n}\nexport function reset() {\n loggedMessages?.clear();\n}"],"ignoreList":[0],"mappings":";AAAA,IAAIA;AACJ,QAAA,IAAA,aAA6B,iBAC3B,oBAAiB,IAAI,IAAI;AAI3B,SAAgBC,EAAc,GAAU,GAAQ;CAC9C,OAAO,SAAiB,GAAGC,GAAU;EACnC,IAAA,QAAA,IAAA,aAA6B,cAAc;GACzC,IAAMC,IAAUD,EAAS,KAAK,GAAG,GAC3BE,IAASC,IAAS,GAAGA,EAAO,IAAIF,MAAYA,GAC5CG,IAAM,GAAGC,EAAS,GAAGH;GAC3B,AAAKJ,EAAe,IAAIM,CAAG,MACzBN,EAAe,IAAIM,CAAG,GAClBC,MAAa,SACf,QAAQ,KAAKH,CAAM,IAEnB,QAAQ,MAAMA,CAAM;EAG1B;CACF;AACF"}
|
package/dist/index191.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var t =
|
|
1
|
+
import { createLogOnce as e } from "./index190.js";
|
|
2
|
+
//#region ../../node_modules/@base-ui/utils/warn.mjs
|
|
3
|
+
var t = e("warn", "Base UI");
|
|
4
4
|
//#endregion
|
|
5
|
-
export { t as
|
|
5
|
+
export { t as warn };
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=index191.js.map
|
package/dist/index191.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index191.js","names":[],"sources":["../../../node_modules/@base-ui/utils/
|
|
1
|
+
{"version":3,"file":"index191.js","names":["warn","createLogOnce"],"sources":["../../../node_modules/@base-ui/utils/warn.mjs"],"sourcesContent":["import { createLogOnce } from \"./createLogOnce.mjs\";\nexport const warn = createLogOnce('warn', 'Base UI');\nexport { reset } from \"./createLogOnce.mjs\";"],"ignoreList":[0],"mappings":";;AACA,IAAaA,IAAOC,EAAc,QAAQ,SAAS"}
|
package/dist/index192.js
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
//#region ../../node_modules/@base-ui/
|
|
2
|
-
function e(
|
|
3
|
-
|
|
4
|
-
for (let r in e) {
|
|
5
|
-
let i = e[r];
|
|
6
|
-
if (t?.hasOwnProperty(r)) {
|
|
7
|
-
let e = t[r](i);
|
|
8
|
-
e != null && Object.assign(n, e);
|
|
9
|
-
continue;
|
|
10
|
-
}
|
|
11
|
-
i === !0 ? n[`data-${r.toLowerCase()}`] = "" : i && (n[`data-${r.toLowerCase()}`] = i.toString());
|
|
12
|
-
}
|
|
13
|
-
return n;
|
|
14
|
-
}
|
|
1
|
+
//#region ../../node_modules/@base-ui/utils/empty.mjs
|
|
2
|
+
function e() {}
|
|
3
|
+
var t = Object.freeze([]), n = Object.freeze({});
|
|
15
4
|
//#endregion
|
|
16
|
-
export { e as
|
|
5
|
+
export { t as EMPTY_ARRAY, n as EMPTY_OBJECT, e as NOOP };
|
|
17
6
|
|
|
18
7
|
//# sourceMappingURL=index192.js.map
|
package/dist/index192.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index192.js","names":[],"sources":["../../../node_modules/@base-ui/
|
|
1
|
+
{"version":3,"file":"index192.js","names":["NOOP","EMPTY_ARRAY","EMPTY_OBJECT"],"sources":["../../../node_modules/@base-ui/utils/empty.mjs"],"sourcesContent":["export function NOOP() {}\n\n// Typed as mutable `never[]` so it is assignable to any `T[]` fallback (for example\n// `defaultValue ?? EMPTY_ARRAY` in `useControlled` callers) without widening `T`.\n// Frozen so a write through a widened alias throws instead of mutating the shared singleton.\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});"],"ignoreList":[0],"mappings":";AAAA,SAAgBA,IAAO,CAAC;AAKxB,IAAaC,IAAc,OAAO,OAAO,CAAC,CAAC,GAC9BC,IAAe,OAAO,OAAO,CAAC,CAAC"}
|