@rpcbase/ui 0.221.0 → 0.222.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/index10.js +3 -3
- package/dist/index100.js +4 -5
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +3 -3
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +6 -8
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +145 -5
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +39 -4
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +4 -4
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +7 -6
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +13 -145
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +13 -39
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +7 -4
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +2 -2
- package/dist/index110.js +29 -5
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +10 -13
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +10 -13
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +8 -7
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +13 -31
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +101 -10
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +20 -11
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +53 -8
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +70 -11
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +9 -101
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +3 -3
- package/dist/index120.js +21 -20
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +15 -52
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +23 -72
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +6 -9
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +5 -20
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +23 -16
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +35 -24
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +16 -7
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +6 -5
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +4 -23
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +2 -2
- package/dist/index130.js +5 -35
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +5 -16
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +4 -6
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +3 -4
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +6 -4
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +24 -5
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +7 -4
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +6 -3
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +5 -6
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +4 -24
- package/dist/index139.js.map +1 -1
- package/dist/index14.js +2 -2
- package/dist/index140.js +3 -7
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +4 -6
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +3 -5
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +4 -3
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +3 -3
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +3 -4
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +3 -3
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +46 -4
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +5 -3
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +7 -3
- package/dist/index149.js.map +1 -1
- package/dist/index15.js +2 -2
- package/dist/index150.js +5 -3
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +16 -5
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +4 -67
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +6 -2
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +54 -359
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +59 -254
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +6 -60
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +4 -46
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +6 -169
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +16 -109
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +2 -2
- package/dist/index160.js +4 -24
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +5 -8
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +12 -4
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +9 -5
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +13 -4
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +13 -466
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +4 -185
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +5 -107
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +6 -262
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +5 -9
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +1 -1
- package/dist/index170.js +53 -41
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +8 -4
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +4 -46
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +4 -229
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +9 -22
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +4 -24
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +4 -400
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +3 -58
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +10 -8
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +9 -66
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +7 -7
- package/dist/index180.js +9 -19
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +10 -16
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +10 -5
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +9 -5
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +6 -6
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +5 -4
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +4 -6
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +5 -16
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +6 -4
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +5 -4
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +3 -3
- package/dist/index190.js +8 -12
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +19 -9
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +46 -13
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +229 -13
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +22 -5
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +24 -5
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +400 -6
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +29 -5
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +12 -54
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +25 -8
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +5 -4
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +16 -4
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +7 -8
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +10 -4
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +10 -4
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +21 -3
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +10 -10
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +9 -9
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +9 -9
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +4 -10
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +1 -1
- package/dist/index210.js +5 -10
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +16 -9
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +9 -6
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +18 -5
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +15 -4
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +12 -5
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +5 -6
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +68 -5
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +2 -17
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +363 -7
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +2 -2
- package/dist/index220.js +260 -9
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +59 -9
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +46 -21
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +169 -10
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +109 -9
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +24 -9
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +8 -5
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +4 -5
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +5 -16
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +4 -9
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +1 -1
- package/dist/index230.js +465 -17
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +184 -14
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +107 -12
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +260 -27
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +9 -12
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +41 -24
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +4 -5
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +4 -13
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +17 -154
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +22 -28
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +1 -1
- package/dist/index240.js +29 -10
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +5 -49
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +12 -11
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +13 -44
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +145 -86
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +27 -83
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +9 -105
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +41 -45
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +11 -11
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +42 -35
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +1 -1
- package/dist/index250.js +95 -8
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +80 -110
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +105 -17
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +51 -14
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +11 -3
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +33 -32
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +8 -20
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +116 -9
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +17 -8
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +12 -16
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +3 -28
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +35 -15
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +20 -24
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +10 -29
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +9 -5
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +19 -4
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +28 -17
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +16 -12
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +4 -20
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +5 -5
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +4 -3
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +15 -23
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +6 -110
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +5 -15
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +4 -529
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +542 -122
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +44 -131
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +17 -4
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +5 -4
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +8 -4
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +2 -2
- package/dist/index280.js +6 -15
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +7 -8
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +11 -5
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +8 -4
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +12 -545
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +5 -47
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +3 -18
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +23 -5
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +112 -7
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +15 -6
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +37 -3
- package/dist/index29.js.map +1 -1
- package/dist/index290.js +529 -7
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +125 -11
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +133 -8
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +20 -12
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +4 -64
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +54 -67
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +67 -8
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +31 -14
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +9 -66
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +153 -5
- package/dist/index299.js.map +1 -1
- package/dist/index3.js +2 -2
- package/dist/index30.js +3 -125
- package/dist/index30.js.map +1 -1
- package/dist/index300.js +106 -54
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +65 -68
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +68 -30
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +9 -9
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +13 -152
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +65 -107
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +15 -3
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +28 -22
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +11 -14
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +5 -27
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +120 -227
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +3 -12
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +22 -6
- package/dist/index311.js.map +1 -1
- package/dist/index32.js +229 -21
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +23 -50
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +50 -21
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +18 -126
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +113 -205
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +205 -74
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +87 -115
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +118 -5
- package/dist/index39.js.map +1 -1
- package/dist/index4.js +2 -2
- package/dist/index40.js +5 -819
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +819 -56
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +57 -37
- package/dist/index42.js.map +1 -1
- package/dist/index45.js +1 -1
- package/dist/index46.js +1 -1
- package/dist/index49.js +1 -1
- package/dist/index5.js +2 -2
- package/dist/index50.js +1 -1
- package/dist/index52.js +2 -2
- package/dist/index56.js +2 -4
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +2 -48
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +2 -51
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +2 -8
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +5 -5
- package/dist/index60.js +3 -14
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +43 -129
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +50 -10
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +7 -216
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +15 -13
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +128 -41
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +9 -48
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +216 -3
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +13 -6
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +46 -27
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +2 -2
- package/dist/index70.js +50 -50
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +4 -9
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +5 -5
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +28 -8
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +50 -6
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +9 -2
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +52 -2
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +5 -2
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +5 -2
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +15 -46
- package/dist/index79.js.map +1 -1
- package/dist/index8.js +3 -3
- package/dist/index80.js +6 -52
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +6 -3
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +16 -4
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +4 -15
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +4 -5
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +5 -7
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +5 -16
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +4 -4
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +4 -4
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +6 -5
- package/dist/index89.js.map +1 -1
- package/dist/index9.js +1 -1
- package/dist/index90.js +24 -5
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +6 -4
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +2 -2
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +5 -5
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +5 -24
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +4 -6
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +5 -4
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +4 -6
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +8 -5
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +4 -3
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
package/dist/index41.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index41.js","sources":["../src/components/header/MenuPopover/index.tsx"],"sourcesContent":["import clsx from \"clsx\"\nimport { ReactNode, useState, useRef, useEffect } from \"react\"\nimport { Link } from \"react-router\"\n\n\nexport const MenuPopover = ({\n href,\n labelClassName,\n labelActiveClassName,\n labelElement,\n isActive,\n children,\n}: {\n href: string;\n labelClassName: string;\n labelActiveClassName: string;\n labelElement: ReactNode;\n isActive: boolean;\n children: (props: { setIsOpen: (isOpen: boolean) => void }) => ReactNode\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const popoverRef = useRef(null)\n\n const handleMouseEnter = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n setIsOpen(true)\n }\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsOpen(false)\n }, 120)\n }\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n return (\n <div\n className=\"flex\"\n ref={popoverRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"relative flex\">\n <Link\n to={href}\n onClick={() => {\n setIsOpen(false)\n }}\n className={clsx(\n \"relative z-10 -mb-px flex items-center border-b-2 pt-px text-sm font-medium text-gray-700 cursor-pointer transition-colors duration-200 ease-out hover:text-gray-800\",\n labelClassName,\n isOpen || isActive ? labelActiveClassName : \"border-transparent\",\n )}\n >\n {labelElement}\n </Link>\n </div>\n\n {isOpen && (\n <div\n className=\"absolute left-0 right-0 top-full z-20 text-gray-500 sm:text-sm\"\n style={{ width: \"100vw\", left: \"50%\", transform: \"translateX(-50%)\" }}\n >\n <div\n aria-hidden=\"true\"\n className=\"absolute inset-0 top-1/2 bg-white shadow-sm\"\n />\n\n <div className=\"relative bg-white\">\n {children({ setIsOpen })}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["MenuPopover","t0","$","_c","href","labelClassName","labelActiveClassName","labelElement","isActive","children","isOpen","setIsOpen","useState","timeoutRef","useRef","popoverRef","t1","Symbol","for","current","clearTimeout","handleMouseEnter","t2","setTimeout","handleMouseLeave","t3","t4","useEffect","t5","t6","t7","clsx","t8","jsx","Link","t9","jsxs","width","left","transform","t10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index41.js","sources":["../../../node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback(() => {\n }, []),\n onNativeOptionRemove: React.useCallback(() => {\n }, []),\n children\n }\n ) })\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","props","__scopeSelect","children","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","React","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","jsx","PopperPrimitive.Root","jsxs","useId","TRIGGER_NAME","SelectTrigger","forwardedRef","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","event","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","Slot","createSlot","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","BUBBLE_INPUT_NAME","SelectBubbleInput","ref","prevValue","usePrevious","select","selectProto","VISUALLY_HIDDEN_STYLES","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Group","Label","Item","ItemText","ItemIndicator","Separator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAIA,KAAY,CAAC,KAAK,SAAS,WAAW,WAAW,GACjDC,KAAiB,CAAC,KAAK,OAAO,GAC9BC,IAAc,UACd,CAACC,IAAYC,IAAeC,EAAqB,IAAIC,GAAiBJ,CAAW,GACjF,CAACK,EAAsC,IAAIC,GAAmBN,GAAa;AAAA,EAC7EG;AAAA,EACAI;AACF,CAAC,GACGC,KAAiBD,GAAiB,GAClC,CAACE,IAAgBC,CAAgB,IAAIL,GAAoBL,CAAW,GACpE,CAACW,IAA6BC,EAA6B,IAAIP,GAAoBL,CAAW,GAC9Fa,KAAS,CAACC,MAAU;AACtB,QAAM;AAAA,IACJ,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAMC;AAAA,IACN,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAOC;AAAA,IACP,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,KAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,EACJ,IAAMd,GACEe,IAAcrB,GAAeO,CAAa,GAC1C,CAACe,GAASC,CAAU,IAAIC,EAAM,SAAS,IAAI,GAC3C,CAACC,GAAWC,CAAY,IAAIF,EAAM,SAAS,IAAI,GAC/C,CAACG,GAAsBC,CAAuB,IAAIJ,EAAM,SAAS,EAAK,GACtEK,KAAYC,GAAaf,CAAG,GAC5B,CAACgB,GAAMC,CAAO,IAAIC,GAAqB;AAAA,IAC3C,MAAMxB;AAAA,IACN,aAAaC,KAAe;AAAA,IAC5B,UAAUC;AAAA,IACV,QAAQnB;AAAA,EACZ,CAAG,GACK,CAAC0C,GAAOC,CAAQ,IAAIF,GAAqB;AAAA,IAC7C,MAAMrB;AAAA,IACN,aAAaC;AAAA,IACb,UAAUC;AAAA,IACV,QAAQtB;AAAA,EACZ,CAAG,GACK4C,IAA2BZ,EAAM,OAAO,IAAI;AAClD,SAAuBa,gBAAAA,EAAAA,IAAIC,IAAsB,EAAE,GAAGjB,GAAa,UAA0BkB,gBAAAA,EAAAA;AAAAA,IAC3FtC;AAAA,IACA;AAAA,MACE,UAAAkB;AAAA,MACA,OAAOZ;AAAA,MACP,SAAAe;AAAA,MACA,iBAAiBC;AAAA,MACjB,WAAAE;AAAA,MACA,mBAAmBC;AAAA,MACnB,sBAAAC;AAAA,MACA,8BAA8BC;AAAA,MAC9B,WAAWY,GAAK;AAAA,MAChB,OAAAN;AAAA,MACA,eAAeC;AAAA,MACf,MAAAJ;AAAA,MACA,cAAcC;AAAA,MACd,KAAKH;AAAA,MACL,0BAAAO;AAAA,MACA,UAAAlB;AAAA,MACA,UAAU;AAAA,QACQmB,gBAAAA,EAAAA,IAAI5C,GAAW,UAAU,EAAE,OAAOc,GAAe,UAA0B8B,gBAAAA,EAAAA;AAAAA,UACzFlC;AAAA,UACA;AAAA,YACE,OAAOG,EAAM;AAAA,YACb,mBAAmBkB,EAAM,YAAY,MAAM;AAAA,YAC3C,GAAG,CAAA,CAAE;AAAA,YACL,sBAAsBA,EAAM,YAAY,MAAM;AAAA,YAC9C,GAAG,CAAA,CAAE;AAAA,YACL,UAAAhB;AAAA,UACZ;AAAA,QACA,EAAS,CAAE;AAAA,MACX;AAAA,IACA;AAAA,EACA,GAAK;AACL;AACAH,GAAO,cAAcb;AACrB,IAAIiD,KAAe,iBACfC,KAAgBlB,EAAM;AAAA,EACxB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,UAAAW,IAAW,IAAO,GAAG0B,EAAY,IAAKtC,GACvDe,IAAcrB,GAAeO,CAAa,GAC1CsC,IAAU3C,EAAiBuC,IAAclC,CAAa,GACtDuC,IAAaD,EAAQ,YAAY3B,GACjC6B,IAAeC,EAAgBL,GAAcE,EAAQ,eAAe,GACpEI,IAAWvD,GAAca,CAAa,GACtC2C,IAAiB1B,EAAM,OAAO,OAAO,GACrC,CAAC2B,GAAWC,GAAuBC,CAAc,IAAIC,GAAmB,CAACC,MAAW;AACxF,YAAMC,IAAeP,IAAW,OAAO,CAACQ,MAAS,CAACA,EAAK,QAAQ,GACzDC,IAAcF,EAAa,KAAK,CAACC,MAASA,EAAK,UAAUZ,EAAQ,KAAK,GACtEc,IAAWC,GAAaJ,GAAcD,GAAQG,CAAW;AAC/D,MAAIC,MAAa,UACfd,EAAQ,cAAcc,EAAS,KAAK;AAAA,IAExC,CAAC,GACKE,IAAa,CAACC,MAAiB;AACnC,MAAKhB,MACHD,EAAQ,aAAa,EAAI,GACzBQ,EAAc,IAEZS,MACFjB,EAAQ,yBAAyB,UAAU;AAAA,QACzC,GAAG,KAAK,MAAMiB,EAAa,KAAK;AAAA,QAChC,GAAG,KAAK,MAAMA,EAAa,KAAK;AAAA,MAC1C;AAAA,IAEI;AACA,WAAuBzB,gBAAAA,EAAAA,IAAI0B,IAAwB,EAAE,SAAS,IAAM,GAAG1C,GAAa,UAA0BgB,gBAAAA,EAAAA;AAAAA,MAC5G2B,EAAU;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,iBAAiBnB,EAAQ;AAAA,QACzB,iBAAiBA,EAAQ;AAAA,QACzB,iBAAiBA,EAAQ;AAAA,QACzB,qBAAqB;AAAA,QACrB,KAAKA,EAAQ;AAAA,QACb,cAAcA,EAAQ,OAAO,SAAS;AAAA,QACtC,UAAUC;AAAA,QACV,iBAAiBA,IAAa,KAAK;AAAA,QACnC,oBAAoBmB,GAAsBpB,EAAQ,KAAK,IAAI,KAAK;AAAA,QAChE,GAAGD;AAAA,QACH,KAAKG;AAAA,QACL,SAASmB,EAAqBtB,EAAa,SAAS,CAACuB,MAAU;AAC7D,UAAAA,EAAM,cAAc,MAAK,GACrBjB,EAAe,YAAY,WAC7BW,EAAWM,CAAK;AAAA,QAEpB,CAAC;AAAA,QACD,eAAeD,EAAqBtB,EAAa,eAAe,CAACuB,MAAU;AACzE,UAAAjB,EAAe,UAAUiB,EAAM;AAC/B,gBAAMC,IAASD,EAAM;AACrB,UAAIC,EAAO,kBAAkBD,EAAM,SAAS,KAC1CC,EAAO,sBAAsBD,EAAM,SAAS,GAE1CA,EAAM,WAAW,KAAKA,EAAM,YAAY,MAASA,EAAM,gBAAgB,YACzEN,EAAWM,CAAK,GAChBA,EAAM,eAAc;AAAA,QAExB,CAAC;AAAA,QACD,WAAWD,EAAqBtB,EAAa,WAAW,CAACuB,MAAU;AACjE,gBAAME,IAAgBlB,EAAU,YAAY;AAG5C,UADI,EADkBgB,EAAM,WAAWA,EAAM,UAAUA,EAAM,YACvCA,EAAM,IAAI,WAAW,KAAGf,EAAsBe,EAAM,GAAG,GACzE,EAAAE,KAAiBF,EAAM,QAAQ,QAC/B7E,GAAU,SAAS6E,EAAM,GAAG,MAC9BN,EAAU,GACVM,EAAM,eAAc;AAAA,QAExB,CAAC;AAAA,MACT;AAAA,IACA,GAAO;AAAA,EACL;AACF;AACAzB,GAAc,cAAcD;AAC5B,IAAI6B,KAAa,eACbC,KAAc/C,EAAM;AAAA,EACtB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,WAAAiE,GAAW,OAAAC,GAAO,UAAAjE,GAAU,aAAAkE,IAAc,IAAI,GAAGC,EAAU,IAAKrE,GACjFuC,IAAU3C,EAAiBoE,IAAY/D,CAAa,GACpD,EAAE,8BAAAqE,EAA4B,IAAK/B,GACnCgC,IAAcrE,MAAa,QAC3BuC,IAAeC,EAAgBL,GAAcE,EAAQ,iBAAiB;AAC5EiC,WAAAA,EAAgB,MAAM;AACpB,MAAAF,EAA6BC,CAAW;AAAA,IAC1C,GAAG,CAACD,GAA8BC,CAAW,CAAC,GACvBxC,gBAAAA,EAAAA;AAAAA,MACrB2B,EAAU;AAAA,MACV;AAAA,QACE,GAAGW;AAAA,QACH,KAAK5B;AAAA,QACL,OAAO,EAAE,eAAe,OAAM;AAAA,QAC9B,UAAUkB,GAAsBpB,EAAQ,KAAK,IAAoBR,gBAAAA,MAAI0C,EAAAA,UAAU,EAAE,UAAUL,EAAW,CAAE,IAAIlE;AAAA,MACpH;AAAA,IACA;AAAA,EACE;AACF;AACA+D,GAAY,cAAcD;AAC1B,IAAIU,KAAY,cACZC,KAAazD,EAAM;AAAA,EACrB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,UAAAC,GAAU,GAAG0E,EAAS,IAAK5E;AAClD,WAAuB+B,gBAAAA,EAAAA,IAAI2B,EAAU,MAAM,EAAE,eAAe,IAAM,GAAGkB,GAAW,KAAKvC,GAAc,UAAUnC,KAAY,IAAQ,CAAE;AAAA,EACrI;AACF;AACAyE,GAAW,cAAcD;AACzB,IAAIG,KAAc,gBACdC,KAAe,CAAC9E,MACK+B,gBAAAA,EAAAA,IAAIgD,IAAiB,EAAE,SAAS,IAAM,GAAG/E,GAAO;AAEzE8E,GAAa,cAAcD;AAC3B,IAAIG,IAAe,iBACfC,KAAgB/D,EAAM;AAAA,EACxB,CAAClB,GAAOqC,MAAiB;AACvB,UAAME,IAAU3C,EAAiBoF,GAAchF,EAAM,aAAa,GAC5D,CAACkF,GAAUC,CAAW,IAAIjE,EAAM,SAAQ;AAI9C,QAHAsD,EAAgB,MAAM;AACpB,MAAAW,EAAY,IAAI,kBAAkB;AAAA,IACpC,GAAG,CAAA,CAAE,GACD,CAAC5C,EAAQ,MAAM;AACjB,YAAM6C,IAAOF;AACb,aAAOE,IAAOC,GAAS;AAAA,QACLtD,gBAAAA,MAAIuD,IAAuB,EAAE,OAAOtF,EAAM,eAAe,UAA0B+B,gBAAAA,EAAAA,IAAI5C,GAAW,MAAM,EAAE,OAAOa,EAAM,eAAe,UAA0B+B,gBAAAA,EAAAA,IAAI,OAAO,EAAE,UAAU/B,EAAM,SAAQ,CAAE,EAAC,CAAE,GAAG;AAAA,QAC7NoF;AAAA,MACR,IAAU;AAAA,IACN;AACA,WAAuBrD,gBAAAA,EAAAA,IAAIwD,IAAmB,EAAE,GAAGvF,GAAO,KAAKqC,GAAc;AAAA,EAC/E;AACF;AACA4C,GAAc,cAAcD;AAC5B,IAAIQ,IAAiB,IACjB,CAACF,IAAuBG,CAAuB,IAAIlG,GAAoByF,CAAY,GACnFU,KAAoB,qBACpBC,KAAOC,GAAW,4BAA4B,GAC9CL,KAAoBrE,EAAM;AAAA,EAC5B,CAAClB,GAAOqC,MAAiB;AACvB,UAAM;AAAA,MACJ,eAAApC;AAAA,MACA,UAAA4F,IAAW;AAAA,MACX,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA;AAAA;AAAA,MAGA,MAAAC;AAAA,MACA,YAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA;AAAA,MAEA,GAAGC;AAAA,IACT,IAAQ3G,GACEuC,IAAU3C,EAAiBoF,GAAc/E,CAAa,GACtD,CAAC2G,GAASC,CAAU,IAAI3F,EAAM,SAAS,IAAI,GAC3C,CAAC4F,GAAUC,EAAW,IAAI7F,EAAM,SAAS,IAAI,GAC7CuB,IAAeC,EAAgBL,GAAc,CAAC2E,MAASH,EAAWG,CAAI,CAAC,GACvE,CAACC,GAAcC,CAAe,IAAIhG,EAAM,SAAS,IAAI,GACrD,CAACiG,GAAkBC,CAAmB,IAAIlG,EAAM;AAAA,MACpD;AAAA,IACN,GACUyB,IAAWvD,GAAca,CAAa,GACtC,CAACoH,IAAcC,CAAe,IAAIpG,EAAM,SAAS,EAAK,GACtDqG,IAAyBrG,EAAM,OAAO,EAAK;AACjD,IAAAA,EAAM,UAAU,MAAM;AACpB,UAAI0F,EAAS,QAAOY,GAAWZ,CAAO;AAAA,IACxC,GAAG,CAACA,CAAO,CAAC,GACZa,GAAc;AACd,UAAMC,IAAaxG,EAAM;AAAA,MACvB,CAACyG,MAAe;AACd,cAAM,CAACC,GAAW,GAAGC,CAAS,IAAIlF,EAAQ,EAAG,IAAI,CAACQ,MAASA,EAAK,IAAI,OAAO,GACrE,CAAC2E,CAAQ,IAAID,EAAU,MAAM,EAAE,GAC/BE,IAA6B,SAAS;AAC5C,mBAAWC,KAAaL;AAMtB,cALIK,MAAcD,MAClBC,GAAW,eAAe,EAAE,OAAO,UAAS,CAAE,GAC1CA,MAAcJ,KAAad,MAAUA,EAAS,YAAY,IAC1DkB,MAAcF,KAAYhB,MAAUA,EAAS,YAAYA,EAAS,eACtEkB,GAAW,MAAK,GACZ,SAAS,kBAAkBD,GAA4B;AAAA,MAE/D;AAAA,MACA,CAACpF,GAAUmE,CAAQ;AAAA,IACzB,GACUmB,IAAoB/G,EAAM;AAAA,MAC9B,MAAMwG,EAAW,CAACT,GAAcL,CAAO,CAAC;AAAA,MACxC,CAACc,GAAYT,GAAcL,CAAO;AAAA,IACxC;AACI,IAAA1F,EAAM,UAAU,MAAM;AACpB,MAAImG,MACFY,EAAiB;AAAA,IAErB,GAAG,CAACZ,IAAcY,CAAiB,CAAC;AACpC,UAAM,EAAE,cAAA5H,GAAc,0BAAAyB,EAAwB,IAAKS;AACnD,IAAArB,EAAM,UAAU,MAAM;AACpB,UAAI0F,GAAS;AACX,YAAIsB,IAAmB,EAAE,GAAG,GAAG,GAAG,EAAC;AACnC,cAAMC,IAAoB,CAACtE,MAAU;AACnC,UAAAqE,IAAmB;AAAA,YACjB,GAAG,KAAK,IAAI,KAAK,MAAMrE,EAAM,KAAK,KAAK/B,EAAyB,SAAS,KAAK,EAAE;AAAA,YAChF,GAAG,KAAK,IAAI,KAAK,MAAM+B,EAAM,KAAK,KAAK/B,EAAyB,SAAS,KAAK,EAAE;AAAA,UAC5F;AAAA,QACQ,GACMsG,IAAkB,CAACvE,MAAU;AACjC,UAAIqE,EAAiB,KAAK,MAAMA,EAAiB,KAAK,KACpDrE,EAAM,eAAc,IAEf+C,EAAQ,SAAS/C,EAAM,MAAM,KAChCxD,EAAa,EAAK,GAGtB,SAAS,oBAAoB,eAAe8H,CAAiB,GAC7DrG,EAAyB,UAAU;AAAA,QACrC;AACA,eAAIA,EAAyB,YAAY,SACvC,SAAS,iBAAiB,eAAeqG,CAAiB,GAC1D,SAAS,iBAAiB,aAAaC,GAAiB,EAAE,SAAS,IAAM,MAAM,IAAM,IAEhF,MAAM;AACX,mBAAS,oBAAoB,eAAeD,CAAiB,GAC7D,SAAS,oBAAoB,aAAaC,GAAiB,EAAE,SAAS,IAAM;AAAA,QAC9E;AAAA,MACF;AAAA,IACF,GAAG,CAACxB,GAASvG,GAAcyB,CAAwB,CAAC,GACpDZ,EAAM,UAAU,MAAM;AACpB,YAAMmH,IAAQ,MAAMhI,EAAa,EAAK;AACtC,oBAAO,iBAAiB,QAAQgI,CAAK,GACrC,OAAO,iBAAiB,UAAUA,CAAK,GAChC,MAAM;AACX,eAAO,oBAAoB,QAAQA,CAAK,GACxC,OAAO,oBAAoB,UAAUA,CAAK;AAAA,MAC5C;AAAA,IACF,GAAG,CAAChI,CAAY,CAAC;AACjB,UAAM,CAACwC,IAAWC,EAAqB,IAAIE,GAAmB,CAACC,MAAW;AACxE,YAAMC,IAAeP,IAAW,OAAO,CAACQ,MAAS,CAACA,EAAK,QAAQ,GACzDC,IAAcF,EAAa,KAAK,CAACC,MAASA,EAAK,IAAI,YAAY,SAAS,aAAa,GACrFE,IAAWC,GAAaJ,GAAcD,GAAQG,CAAW;AAC/D,MAAIC,KACF,WAAW,MAAMA,EAAS,IAAI,QAAQ,MAAK,CAAE;AAAA,IAEjD,CAAC,GACKiF,KAAkBpH,EAAM;AAAA,MAC5B,CAAC8F,GAAMpF,GAAOhB,MAAa;AACzB,cAAM2H,IAAmB,CAAChB,EAAuB,WAAW,CAAC3G;AAE7D,SADuB2B,EAAQ,UAAU,UAAUA,EAAQ,UAAUX,KAC/C2G,OACpBrB,EAAgBF,CAAI,GAChBuB,MAAkBhB,EAAuB,UAAU;AAAA,MAE3D;AAAA,MACA,CAAChF,EAAQ,KAAK;AAAA,IACpB,GACUiG,KAAkBtH,EAAM,YAAY,MAAM0F,GAAS,MAAK,GAAI,CAACA,CAAO,CAAC,GACrE6B,IAAsBvH,EAAM;AAAA,MAChC,CAAC8F,GAAMpF,GAAOhB,MAAa;AACzB,cAAM2H,IAAmB,CAAChB,EAAuB,WAAW,CAAC3G;AAE7D,SADuB2B,EAAQ,UAAU,UAAUA,EAAQ,UAAUX,KAC/C2G,MACpBnB,EAAoBJ,CAAI;AAAA,MAE5B;AAAA,MACA,CAACzE,EAAQ,KAAK;AAAA,IACpB,GACUmG,KAAiB7C,MAAa,WAAW8C,KAAuBC,IAChEC,KAAqBH,OAAmBC,KAAuB;AAAA,MACnE,MAAA1C;AAAA,MACA,YAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,IACN,IAAQ,CAAA;AACJ,WAAuB3E,gBAAAA,EAAAA;AAAAA,MACrBuD;AAAA,MACA;AAAA,QACE,OAAOrF;AAAA,QACP,SAAA2G;AAAA,QACA,UAAAE;AAAA,QACA,kBAAkBC;AAAA,QAClB,iBAAAuB;AAAA,QACA,cAAArB;AAAA,QACA,aAAauB;AAAA,QACb,qBAAAC;AAAA,QACA,mBAAAR;AAAA,QACA,kBAAAd;AAAA,QACA,UAAAtB;AAAA,QACA,cAAAwB;AAAA,QACA,WAAAxE;AAAA,QACA,UAA0Bd,gBAAAA,EAAAA,IAAI+G,IAAc,EAAE,IAAInD,IAAM,gBAAgB,IAAM,UAA0B5D,gBAAAA,EAAAA;AAAAA,UACtGgH;AAAA,UACA;AAAA,YACE,SAAS;AAAA,YACT,SAASxG,EAAQ;AAAA,YACjB,kBAAkB,CAACsB,MAAU;AAC3B,cAAAA,EAAM,eAAc;AAAA,YACtB;AAAA,YACA,oBAAoBD,EAAqBkC,GAAkB,CAACjC,MAAU;AACpE,cAAAtB,EAAQ,SAAS,MAAM,EAAE,eAAe,GAAI,CAAE,GAC9CsB,EAAM,eAAc;AAAA,YACtB,CAAC;AAAA,YACD,UAA0B9B,gBAAAA,EAAAA;AAAAA,cACxBiH;AAAA,cACA;AAAA,gBACE,SAAS;AAAA,gBACT,6BAA6B;AAAA,gBAC7B,iBAAAjD;AAAA,gBACA,sBAAAC;AAAA,gBACA,gBAAgB,CAACnC,MAAUA,EAAM,eAAc;AAAA,gBAC/C,WAAW,MAAMtB,EAAQ,aAAa,EAAK;AAAA,gBAC3C,UAA0BR,gBAAAA,EAAAA;AAAAA,kBACxB2G;AAAA,kBACA;AAAA,oBACE,MAAM;AAAA,oBACN,IAAInG,EAAQ;AAAA,oBACZ,cAAcA,EAAQ,OAAO,SAAS;AAAA,oBACtC,KAAKA,EAAQ;AAAA,oBACb,eAAe,CAACsB,MAAUA,EAAM,eAAc;AAAA,oBAC9C,GAAG8C;AAAA,oBACH,GAAGkC;AAAA,oBACH,UAAU,MAAMvB,EAAgB,EAAI;AAAA,oBACpC,KAAK7E;AAAA,oBACL,OAAO;AAAA;AAAA,sBAEL,SAAS;AAAA,sBACT,eAAe;AAAA;AAAA,sBAEf,SAAS;AAAA,sBACT,GAAGkE,EAAa;AAAA,oBACtC;AAAA,oBACoB,WAAW/C,EAAqB+C,EAAa,WAAW,CAAC9C,MAAU;AACjE,4BAAMoF,IAAgBpF,EAAM,WAAWA,EAAM,UAAUA,EAAM;AAG7D,0BAFIA,EAAM,QAAQ,SAAOA,EAAM,eAAc,GACzC,CAACoF,KAAiBpF,EAAM,IAAI,WAAW,KAAGf,GAAsBe,EAAM,GAAG,GACzE,CAAC,WAAW,aAAa,QAAQ,KAAK,EAAE,SAASA,EAAM,GAAG,GAAG;AAE/D,4BAAIqF,IADUvG,IAAW,OAAO,CAACQ,MAAS,CAACA,EAAK,QAAQ,EAC7B,IAAI,CAACA,MAASA,EAAK,IAAI,OAAO;AAIzD,4BAHI,CAAC,WAAW,KAAK,EAAE,SAASU,EAAM,GAAG,MACvCqF,IAAiBA,EAAe,MAAK,EAAG,QAAO,IAE7C,CAAC,WAAW,WAAW,EAAE,SAASrF,EAAM,GAAG,GAAG;AAChD,gCAAMsF,IAAiBtF,EAAM,QACvBuF,IAAeF,EAAe,QAAQC,CAAc;AAC1D,0BAAAD,IAAiBA,EAAe,MAAME,IAAe,CAAC;AAAA,wBACxD;AACA,mCAAW,MAAM1B,EAAWwB,CAAc,CAAC,GAC3CrF,EAAM,eAAc;AAAA,sBACtB;AAAA,oBACF,CAAC;AAAA,kBACrB;AAAA,gBACA;AAAA,cACA;AAAA,YACA;AAAA,UACA;AAAA,QACA,EAAS,CAAE;AAAA,MACX;AAAA,IACA;AAAA,EACE;AACF;AACA0B,GAAkB,cAAcG;AAChC,IAAI2D,KAA6B,6BAC7BT,KAA4B1H,EAAM,WAAW,CAAClB,GAAOqC,MAAiB;AACxE,QAAM,EAAE,eAAApC,GAAe,UAAAqJ,GAAU,GAAGC,EAAW,IAAKvJ,GAC9CuC,IAAU3C,EAAiBoF,GAAc/E,CAAa,GACtDuJ,IAAiB/D,EAAwBT,GAAc/E,CAAa,GACpE,CAACwJ,GAAgBC,CAAiB,IAAIxI,EAAM,SAAS,IAAI,GACzD,CAAC0F,GAASC,CAAU,IAAI3F,EAAM,SAAS,IAAI,GAC3CuB,IAAeC,EAAgBL,GAAc,CAAC2E,MAASH,EAAWG,CAAI,CAAC,GACvErE,IAAWvD,GAAca,CAAa,GACtC0J,IAA0BzI,EAAM,OAAO,EAAK,GAC5C0I,IAAsB1I,EAAM,OAAO,EAAI,GACvC,EAAE,UAAA4F,GAAU,cAAAG,GAAc,kBAAAE,GAAkB,mBAAAc,EAAiB,IAAKuB,GAClE3D,IAAW3E,EAAM,YAAY,MAAM;AACvC,QAAIqB,EAAQ,WAAWA,EAAQ,aAAakH,KAAkB7C,KAAWE,KAAYG,KAAgBE,GAAkB;AACrH,YAAM0C,IAActH,EAAQ,QAAQ,sBAAqB,GACnDuH,IAAclD,EAAQ,sBAAqB,GAC3CmD,IAAgBxH,EAAQ,UAAU,sBAAqB,GACvDyH,IAAe7C,EAAiB,sBAAqB;AAC3D,UAAI5E,EAAQ,QAAQ,OAAO;AACzB,cAAM0H,IAAiBD,EAAa,OAAOF,EAAY,MACjDI,IAAOH,EAAc,OAAOE,GAC5BE,IAAYN,EAAY,OAAOK,GAC/BE,IAAkBP,EAAY,QAAQM,GACtCE,KAAe,KAAK,IAAID,GAAiBN,EAAY,KAAK,GAC1DQ,KAAY,OAAO,aAAa9E,GAChC+E,KAAcC,GAAMN,GAAM;AAAA,UAC9B1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMA,KAAK,IAAIA,GAAgB8E,KAAYD,EAAY;AAAA,QAC3D,CAAS;AACD,QAAAZ,EAAe,MAAM,WAAWW,IAAkB,MAClDX,EAAe,MAAM,OAAOc,KAAc;AAAA,MAC5C,OAAO;AACL,cAAMN,IAAiBH,EAAY,QAAQE,EAAa,OAClDS,IAAQ,OAAO,aAAaV,EAAc,QAAQE,GAClDS,IAAa,OAAO,aAAab,EAAY,QAAQY,GACrDL,IAAkBP,EAAY,QAAQa,GACtCL,KAAe,KAAK,IAAID,GAAiBN,EAAY,KAAK,GAC1Da,KAAW,OAAO,aAAanF,GAC/BoF,KAAeJ,GAAMC,GAAO;AAAA,UAChCjF;AAAA,UACA,KAAK,IAAIA,GAAgBmF,KAAWN,EAAY;AAAA,QAC1D,CAAS;AACD,QAAAZ,EAAe,MAAM,WAAWW,IAAkB,MAClDX,EAAe,MAAM,QAAQmB,KAAe;AAAA,MAC9C;AACA,YAAMC,IAAQlI,EAAQ,GAChBmI,IAAkB,OAAO,cAActF,IAAiB,GACxDuF,KAAcjE,EAAS,cACvBkE,IAAgB,OAAO,iBAAiBpE,CAAO,GAC/CqE,IAAwB,SAASD,EAAc,gBAAgB,EAAE,GACjEE,IAAoB,SAASF,EAAc,YAAY,EAAE,GACzDG,IAA2B,SAASH,EAAc,mBAAmB,EAAE,GACvEI,IAAuB,SAASJ,EAAc,eAAe,EAAE,GAC/DK,IAAoBJ,IAAwBC,IAAoBH,KAAcK,IAAuBD,GACrGG,KAAmB,KAAK,IAAIrE,EAAa,eAAe,GAAGoE,CAAiB,GAC5EE,KAAiB,OAAO,iBAAiBzE,CAAQ,GACjD0E,KAAqB,SAASD,GAAe,YAAY,EAAE,GAC3DE,KAAwB,SAASF,GAAe,eAAe,EAAE,GACjEG,IAAyB7B,EAAY,MAAMA,EAAY,SAAS,IAAIrE,GACpEmG,KAA4Bb,IAAkBY,GAC9CE,KAAyB3E,EAAa,eAAe,GACrD4E,IAAmB5E,EAAa,YAAY2E,IAC5CE,IAAyBb,IAAwBC,IAAoBW,GACrEE,IAA4BV,IAAoBS;AAEtD,UADoCA,KAA0BJ,GAC7B;AAC/B,cAAMM,IAAanB,EAAM,SAAS,KAAK5D,MAAiB4D,EAAMA,EAAM,SAAS,CAAC,EAAE,IAAI;AACpF,QAAApB,EAAe,MAAM,SAAS;AAC9B,cAAMwC,IAAuBrF,EAAQ,eAAeE,EAAS,YAAYA,EAAS,cAC5EoF,IAAmC,KAAK;AAAA,UAC5CP;AAAA,UACAC;AAAA,WACCI,IAAaP,KAAwB,KAAKQ,IAAuBd;AAAA,QAC5E,GACcgB,IAASL,IAAyBI;AACxC,QAAAzC,EAAe,MAAM,SAAS0C,IAAS;AAAA,MACzC,OAAO;AACL,cAAMC,IAAcvB,EAAM,SAAS,KAAK5D,MAAiB4D,EAAM,CAAC,EAAE,IAAI;AACtE,QAAApB,EAAe,MAAM,MAAM;AAM3B,cAAM0C,IALgC,KAAK;AAAA,UACzCT;AAAA,UACAT,IAAwBnE,EAAS;AAAA,WAChCsF,IAAcZ,KAAqB,KAAKI;AAAA,QACnD,IACuDG;AAC/C,QAAAtC,EAAe,MAAM,SAAS0C,IAAS,MACvCrF,EAAS,YAAYgF,IAAyBJ,IAAyB5E,EAAS;AAAA,MAClF;AACA,MAAA2C,EAAe,MAAM,SAAS,GAAGjE,CAAc,QAC/CiE,EAAe,MAAM,YAAY6B,KAAmB,MACpD7B,EAAe,MAAM,YAAYqB,IAAkB,MACnDxB,IAAQ,GACR,sBAAsB,MAAMK,EAAwB,UAAU,EAAI;AAAA,IACpE;AAAA,EACF,GAAG;AAAA,IACDhH;AAAA,IACAJ,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRkH;AAAA,IACA7C;AAAA,IACAE;AAAA,IACAG;AAAA,IACAE;AAAA,IACA5E,EAAQ;AAAA,IACR+G;AAAA,EACJ,CAAG;AACD9E,EAAAA,EAAgB,MAAMqB,KAAY,CAACA,CAAQ,CAAC;AAC5C,QAAM,CAACwG,GAAeC,CAAgB,IAAIpL,EAAM,SAAQ;AACxDsD,EAAAA,EAAgB,MAAM;AACpB,IAAIoC,KAAS0F,EAAiB,OAAO,iBAAiB1F,CAAO,EAAE,MAAM;AAAA,EACvE,GAAG,CAACA,CAAO,CAAC;AACZ,QAAM2F,KAA2BrL,EAAM;AAAA,IACrC,CAAC8F,MAAS;AACR,MAAIA,KAAQ4C,EAAoB,YAAY,OAC1C/D,EAAQ,GACRoC,IAAiB,GACjB2B,EAAoB,UAAU;AAAA,IAElC;AAAA,IACA,CAAC/D,GAAUoC,CAAiB;AAAA,EAChC;AACE,SAAuBlG,gBAAAA,EAAAA;AAAAA,IACrByK;AAAA,IACA;AAAA,MACE,OAAOvM;AAAA,MACP,gBAAAwJ;AAAA,MACA,yBAAAE;AAAA,MACA,sBAAsB4C;AAAA,MACtB,UAA0BxK,gBAAAA,EAAAA;AAAAA,QACxB;AAAA,QACA;AAAA,UACE,KAAK2H;AAAA,UACL,OAAO;AAAA,YACL,SAAS;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,QAAQ2C;AAAA,UACpB;AAAA,UACU,UAA0BtK,gBAAAA,EAAAA;AAAAA,YACxB2B,EAAU;AAAA,YACV;AAAA,cACE,GAAG6F;AAAA,cACH,KAAK9G;AAAA,cACL,OAAO;AAAA;AAAA;AAAA,gBAGL,WAAW;AAAA;AAAA,gBAEX,WAAW;AAAA,gBACX,GAAG8G,EAAY;AAAA,cAC/B;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA,CAAC;AACDX,GAA0B,cAAcS;AACxC,IAAIoD,KAAuB,wBACvB9D,KAAuBzH,EAAM,WAAW,CAAClB,GAAOqC,MAAiB;AACnE,QAAM;AAAA,IACJ,eAAApC;AAAA,IACA,OAAAkG,IAAQ;AAAA,IACR,kBAAAI,IAAmBf;AAAA,IACnB,GAAG+D;AAAA,EACP,IAAMvJ,GACEe,IAAcrB,GAAeO,CAAa;AAChD,SAAuB8B,gBAAAA,EAAAA;AAAAA,IACrB2K;AAAAA,IACA;AAAA,MACE,GAAG3L;AAAA,MACH,GAAGwI;AAAA,MACH,KAAKlH;AAAA,MACL,OAAA8D;AAAA,MACA,kBAAAI;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,WAAW;AAAA,QACX,GAAGgD,EAAY;AAAA,QAGb,2CAA2C;AAAA,QAC3C,0CAA0C;AAAA,QAC1C,2CAA2C;AAAA,QAC3C,gCAAgC;AAAA,QAChC,iCAAiC;AAAA,MAE3C;AAAA,IACA;AAAA,EACA;AACA,CAAC;AACDZ,GAAqB,cAAc8D;AACnC,IAAI,CAACD,IAAwBG,EAAwB,IAAIpN,GAAoByF,GAAc,CAAA,CAAE,GACzF4H,KAAgB,kBAChBC,KAAiB3L,EAAM;AAAA,EACzB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,OAAA6M,GAAO,GAAGC,EAAa,IAAK/M,GAC7CwJ,IAAiB/D,EAAwBmH,IAAe3M,CAAa,GACrE+M,IAAkBL,GAAyBC,IAAe3M,CAAa,GACvEwC,IAAeC,EAAgBL,GAAcmH,EAAe,gBAAgB,GAC5EyD,IAAmB/L,EAAM,OAAO,CAAC;AACvC,WAAuBe,gBAAAA,EAAAA,KAAKwC,YAAU,EAAE,UAAU;AAAA,MAChC1C,gBAAAA,EAAAA;AAAAA,QACd;AAAA,QACA;AAAA,UACE,yBAAyB;AAAA,YACvB,QAAQ;AAAA,UACpB;AAAA,UACU,OAAA+K;AAAA,QACV;AAAA,MACA;AAAA,MACsB/K,gBAAAA,EAAAA,IAAI5C,GAAW,MAAM,EAAE,OAAOc,GAAe,UAA0B8B,gBAAAA,EAAAA;AAAAA,QACrF2B,EAAU;AAAA,QACV;AAAA,UACE,8BAA8B;AAAA,UAC9B,MAAM;AAAA,UACN,GAAGqJ;AAAA,UACH,KAAKtK;AAAA,UACL,OAAO;AAAA;AAAA;AAAA;AAAA,YAIL,UAAU;AAAA,YACV,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,YAKN,UAAU;AAAA,YACV,GAAGsK,EAAc;AAAA,UAC7B;AAAA,UACU,UAAUnJ,EAAqBmJ,EAAc,UAAU,CAAClJ,MAAU;AAChE,kBAAMiD,IAAWjD,EAAM,eACjB,EAAE,gBAAA4F,GAAgB,yBAAAE,EAAuB,IAAKqD;AACpD,gBAAIrD,GAAyB,WAAWF,GAAgB;AACtD,oBAAMyD,IAAa,KAAK,IAAID,EAAiB,UAAUnG,EAAS,SAAS;AACzE,kBAAIoG,IAAa,GAAG;AAClB,sBAAMpC,IAAkB,OAAO,cAActF,IAAiB,GACxD2H,IAAe,WAAW1D,EAAe,MAAM,SAAS,GACxD2D,IAAY,WAAW3D,EAAe,MAAM,MAAM,GAClD4D,IAAa,KAAK,IAAIF,GAAcC,CAAS;AACnD,oBAAIC,IAAavC,GAAiB;AAChC,wBAAMwC,IAAaD,IAAaH,GAC1BK,IAAoB,KAAK,IAAIzC,GAAiBwC,CAAU,GACxDE,IAAaF,IAAaC;AAChC,kBAAA9D,EAAe,MAAM,SAAS8D,IAAoB,MAC9C9D,EAAe,MAAM,WAAW,UAClC3C,EAAS,YAAY0G,IAAa,IAAIA,IAAa,GACnD/D,EAAe,MAAM,iBAAiB;AAAA,gBAE1C;AAAA,cACF;AAAA,YACF;AACA,YAAAwD,EAAiB,UAAUnG,EAAS;AAAA,UACtC,CAAC;AAAA,QACX;AAAA,MACA,EAAO,CAAE;AAAA,IACT,GAAO;AAAA,EACL;AACF;AACA+F,GAAe,cAAcD;AAC7B,IAAIa,KAAa,eACb,CAACC,IAA4BC,EAAqB,IAAIpO,GAAoBkO,EAAU,GACpFG,KAAc1M,EAAM;AAAA,EACtB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,GAAG4N,EAAU,IAAK7N,GACnC8N,IAAU5L,GAAK;AACrB,WAAuBH,gBAAAA,EAAAA,IAAI2L,IAA4B,EAAE,OAAOzN,GAAe,IAAI6N,GAAS,UAA0B/L,gBAAAA,EAAAA,IAAI2B,EAAU,KAAK,EAAE,MAAM,SAAS,mBAAmBoK,GAAS,GAAGD,GAAY,KAAKxL,EAAY,CAAE,GAAG;AAAA,EAC7N;AACF;AACAuL,GAAY,cAAcH;AAC1B,IAAIM,KAAa,eACbC,KAAc9M,EAAM;AAAA,EACtB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,GAAGgO,EAAU,IAAKjO,GACnCkO,IAAeP,GAAsBI,IAAY9N,CAAa;AACpE,WAAuB8B,gBAAAA,MAAI2B,EAAU,KAAK,EAAE,IAAIwK,EAAa,IAAI,GAAGD,GAAY,KAAK5L,EAAY,CAAE;AAAA,EACrG;AACF;AACA2L,GAAY,cAAcD;AAC1B,IAAII,KAAY,cACZ,CAACC,IAA2BC,EAAoB,IAAI9O,GAAoB4O,EAAS,GACjFG,KAAapN,EAAM;AAAA,EACrB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM;AAAA,MACJ,eAAApC;AAAA,MACA,OAAA2B;AAAA,MACA,UAAAhB,IAAW;AAAA,MACX,WAAW2N;AAAA,MACX,GAAGC;AAAA,IACT,IAAQxO,GACEuC,IAAU3C,EAAiBuO,IAAWlO,CAAa,GACnDuJ,IAAiB/D,EAAwB0I,IAAWlO,CAAa,GACjEwO,IAAalM,EAAQ,UAAUX,GAC/B,CAAC8M,GAAWC,CAAY,IAAIzN,EAAM,SAASqN,KAAiB,EAAE,GAC9D,CAACK,GAAWC,CAAY,IAAI3N,EAAM,SAAS,EAAK,GAChDuB,IAAeC;AAAA,MACnBL;AAAA,MACA,CAAC2E,MAASwC,EAAe,kBAAkBxC,GAAMpF,GAAOhB,CAAQ;AAAA,IACtE,GACUkO,IAAS5M,GAAK,GACdU,IAAiB1B,EAAM,OAAO,OAAO,GACrC6N,IAAe,MAAM;AACzB,MAAKnO,MACH2B,EAAQ,cAAcX,CAAK,GAC3BW,EAAQ,aAAa,EAAK;AAAA,IAE9B;AACA,QAAIX,MAAU;AACZ,YAAM,IAAI;AAAA,QACR;AAAA,MACR;AAEI,WAAuBG,gBAAAA,EAAAA;AAAAA,MACrBqM;AAAA,MACA;AAAA,QACE,OAAOnO;AAAA,QACP,OAAA2B;AAAA,QACA,UAAAhB;AAAA,QACA,QAAAkO;AAAA,QACA,YAAAL;AAAA,QACA,kBAAkBvN,EAAM,YAAY,CAAC8F,MAAS;AAC5C,UAAA2H,EAAa,CAACK,MAAkBA,MAAkBhI,GAAM,eAAe,IAAI,MAAM;AAAA,QACnF,GAAG,CAAA,CAAE;AAAA,QACL,UAA0BjF,gBAAAA,EAAAA;AAAAA,UACxB5C,GAAW;AAAA,UACX;AAAA,YACE,OAAOc;AAAA,YACP,OAAA2B;AAAA,YACA,UAAAhB;AAAA,YACA,WAAA8N;AAAA,YACA,UAA0B3M,gBAAAA,EAAAA;AAAAA,cACxB2B,EAAU;AAAA,cACV;AAAA,gBACE,MAAM;AAAA,gBACN,mBAAmBoL;AAAA,gBACnB,oBAAoBF,IAAY,KAAK;AAAA,gBACrC,iBAAiBH,KAAcG;AAAA,gBAC/B,cAAcH,IAAa,YAAY;AAAA,gBACvC,iBAAiB7N,KAAY;AAAA,gBAC7B,iBAAiBA,IAAW,KAAK;AAAA,gBACjC,UAAUA,IAAW,SAAS;AAAA,gBAC9B,GAAG4N;AAAA,gBACH,KAAK/L;AAAA,gBACL,SAASmB,EAAqB4K,EAAU,SAAS,MAAMK,EAAa,EAAI,CAAC;AAAA,gBACzE,QAAQjL,EAAqB4K,EAAU,QAAQ,MAAMK,EAAa,EAAK,CAAC;AAAA,gBACxE,SAASjL,EAAqB4K,EAAU,SAAS,MAAM;AACrD,kBAAI5L,EAAe,YAAY,WAASmM,EAAY;AAAA,gBACtD,CAAC;AAAA,gBACD,aAAanL,EAAqB4K,EAAU,aAAa,MAAM;AAC7D,kBAAI5L,EAAe,YAAY,WAASmM,EAAY;AAAA,gBACtD,CAAC;AAAA,gBACD,eAAenL,EAAqB4K,EAAU,eAAe,CAAC3K,MAAU;AACtE,kBAAAjB,EAAe,UAAUiB,EAAM;AAAA,gBACjC,CAAC;AAAA,gBACD,eAAeD,EAAqB4K,EAAU,eAAe,CAAC3K,MAAU;AACtE,kBAAAjB,EAAe,UAAUiB,EAAM,aAC3BjD,IACF4I,EAAe,cAAW,IACjB5G,EAAe,YAAY,WACpCiB,EAAM,cAAc,MAAM,EAAE,eAAe,GAAI,CAAE;AAAA,gBAErD,CAAC;AAAA,gBACD,gBAAgBD,EAAqB4K,EAAU,gBAAgB,CAAC3K,MAAU;AACxE,kBAAIA,EAAM,kBAAkB,SAAS,iBACnC2F,EAAe,cAAW;AAAA,gBAE9B,CAAC;AAAA,gBACD,WAAW5F,EAAqB4K,EAAU,WAAW,CAAC3K,MAAU;AAE9D,kBADsB2F,EAAe,WAAW,YAAY,MACvC3F,EAAM,QAAQ,QAC/B5E,GAAe,SAAS4E,EAAM,GAAG,KAAGkL,EAAY,GAChDlL,EAAM,QAAQ,OAAKA,EAAM,eAAc;AAAA,gBAC7C,CAAC;AAAA,cACjB;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF;AACAyK,GAAW,cAAcH;AACzB,IAAIc,KAAiB,kBACjBC,KAAiBhO,EAAM;AAAA,EACzB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,WAAAiE,GAAW,OAAAC,GAAO,GAAGgL,EAAa,IAAKnP,GACxDuC,IAAU3C,EAAiBqP,IAAgBhP,CAAa,GACxDuJ,IAAiB/D,EAAwBwJ,IAAgBhP,CAAa,GACtEmP,IAAcf,GAAqBY,IAAgBhP,CAAa,GAChEoP,IAAuBvP,GAA8BmP,IAAgBhP,CAAa,GAClF,CAACqP,GAAcC,CAAe,IAAIrO,EAAM,SAAS,IAAI,GACrDuB,IAAeC;AAAA,MACnBL;AAAA,MACA,CAAC2E,MAASuI,EAAgBvI,CAAI;AAAA,MAC9BoI,EAAY;AAAA,MACZ,CAACpI,MAASwC,EAAe,sBAAsBxC,GAAMoI,EAAY,OAAOA,EAAY,QAAQ;AAAA,IAClG,GACUI,IAAcF,GAAc,aAC5BG,IAAevO,EAAM;AAAA,MACzB,MAAsBa,gBAAAA,EAAAA,IAAI,UAAU,EAAE,OAAOqN,EAAY,OAAO,UAAUA,EAAY,UAAU,UAAUI,EAAW,GAAIJ,EAAY,KAAK;AAAA,MAC1I,CAACA,EAAY,UAAUA,EAAY,OAAOI,CAAW;AAAA,IAC3D,GACU,EAAE,mBAAAE,GAAmB,sBAAAC,EAAoB,IAAKN;AACpD7K,WAAAA,EAAgB,OACdkL,EAAkBD,CAAY,GACvB,MAAME,EAAqBF,CAAY,IAC7C,CAACC,GAAmBC,GAAsBF,CAAY,CAAC,GACnCxN,gBAAAA,EAAAA,KAAKwC,YAAU,EAAE,UAAU;AAAA,MAChC1C,gBAAAA,EAAAA,IAAI2B,EAAU,MAAM,EAAE,IAAI0L,EAAY,QAAQ,GAAGD,GAAe,KAAK1M,GAAc;AAAA,MACnG2M,EAAY,cAAc7M,EAAQ,aAAa,CAACA,EAAQ,uBAAuB8C,GAAS,aAAa8J,EAAc,UAAU5M,EAAQ,SAAS,IAAI;AAAA,IACxJ,GAAO;AAAA,EACL;AACF;AACA2M,GAAe,cAAcD;AAC7B,IAAIW,KAAsB,uBACtBC,KAAsB3O,EAAM;AAAA,EAC9B,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,GAAG6P,EAAkB,IAAK9P;AAEjD,WADoBqO,GAAqBuB,IAAqB3P,CAAa,EACxD,aAA6B8B,gBAAAA,MAAI2B,EAAU,MAAM,EAAE,eAAe,IAAM,GAAGoM,GAAoB,KAAKzN,EAAY,CAAE,IAAI;AAAA,EAC3I;AACF;AACAwN,GAAoB,cAAcD;AAClC,IAAIG,KAAwB,wBACxBC,KAAuB9O,EAAM,WAAW,CAAClB,GAAOqC,MAAiB;AACnE,QAAMmH,IAAiB/D,EAAwBsK,IAAuB/P,EAAM,aAAa,GACnFgN,IAAkBL,GAAyBoD,IAAuB/P,EAAM,aAAa,GACrF,CAACiQ,GAAaC,CAAc,IAAIhP,EAAM,SAAS,EAAK,GACpDuB,IAAeC,EAAgBL,GAAc2K,EAAgB,oBAAoB;AACvFxI,SAAAA,EAAgB,MAAM;AACpB,QAAIgF,EAAe,YAAYA,EAAe,cAAc;AAC1D,UAAI2G,IAAgB,WAAW;AAC7B,cAAMC,IAAetJ,EAAS,YAAY;AAC1C,QAAAoJ,EAAeE,CAAY;AAAA,MAC7B;AAEA,YAAMtJ,IAAW0C,EAAe;AAChC,aAAA2G,EAAa,GACbrJ,EAAS,iBAAiB,UAAUqJ,CAAa,GAC1C,MAAMrJ,EAAS,oBAAoB,UAAUqJ,CAAa;AAAA,IACnE;AAAA,EACF,GAAG,CAAC3G,EAAe,UAAUA,EAAe,YAAY,CAAC,GAClDyG,IAA8BlO,gBAAAA,EAAAA;AAAAA,IACnCsO;AAAA,IACA;AAAA,MACE,GAAGrQ;AAAA,MACH,KAAKyC;AAAA,MACL,cAAc,MAAM;AAClB,cAAM,EAAE,UAAAqE,GAAU,cAAAG,EAAY,IAAKuC;AACnC,QAAI1C,KAAYG,MACdH,EAAS,YAAYA,EAAS,YAAYG,EAAa;AAAA,MAE3D;AAAA,IACN;AAAA,EACA,IAAM;AACN,CAAC;AACD+I,GAAqB,cAAcD;AACnC,IAAIO,KAA0B,0BAC1BC,KAAyBrP,EAAM,WAAW,CAAClB,GAAOqC,MAAiB;AACrE,QAAMmH,IAAiB/D,EAAwB6K,IAAyBtQ,EAAM,aAAa,GACrFgN,IAAkBL,GAAyB2D,IAAyBtQ,EAAM,aAAa,GACvF,CAACwQ,GAAeC,CAAgB,IAAIvP,EAAM,SAAS,EAAK,GACxDuB,IAAeC,EAAgBL,GAAc2K,EAAgB,oBAAoB;AACvFxI,SAAAA,EAAgB,MAAM;AACpB,QAAIgF,EAAe,YAAYA,EAAe,cAAc;AAC1D,UAAI2G,IAAgB,WAAW;AAC7B,cAAMO,IAAY5J,EAAS,eAAeA,EAAS,cAC7C6J,IAAiB,KAAK,KAAK7J,EAAS,SAAS,IAAI4J;AACvD,QAAAD,EAAiBE,CAAc;AAAA,MACjC;AAEA,YAAM7J,IAAW0C,EAAe;AAChC,aAAA2G,EAAa,GACbrJ,EAAS,iBAAiB,UAAUqJ,CAAa,GAC1C,MAAMrJ,EAAS,oBAAoB,UAAUqJ,CAAa;AAAA,IACnE;AAAA,EACF,GAAG,CAAC3G,EAAe,UAAUA,EAAe,YAAY,CAAC,GAClDgH,IAAgCzO,gBAAAA,EAAAA;AAAAA,IACrCsO;AAAA,IACA;AAAA,MACE,GAAGrQ;AAAA,MACH,KAAKyC;AAAA,MACL,cAAc,MAAM;AAClB,cAAM,EAAE,UAAAqE,GAAU,cAAAG,EAAY,IAAKuC;AACnC,QAAI1C,KAAYG,MACdH,EAAS,YAAYA,EAAS,YAAYG,EAAa;AAAA,MAE3D;AAAA,IACN;AAAA,EACA,IAAM;AACN,CAAC;AACDsJ,GAAuB,cAAcD;AACrC,IAAID,KAAyBnP,EAAM,WAAW,CAAClB,GAAOqC,MAAiB;AACrE,QAAM,EAAE,eAAApC,GAAe,cAAA2Q,GAAc,GAAGC,EAAoB,IAAK7Q,GAC3DwJ,IAAiB/D,EAAwB,sBAAsBxF,CAAa,GAC5E6Q,IAAqB5P,EAAM,OAAO,IAAI,GACtCyB,IAAWvD,GAAca,CAAa,GACtC8Q,IAAuB7P,EAAM,YAAY,MAAM;AACnD,IAAI4P,EAAmB,YAAY,SACjC,OAAO,cAAcA,EAAmB,OAAO,GAC/CA,EAAmB,UAAU;AAAA,EAEjC,GAAG,CAAA,CAAE;AACL,SAAA5P,EAAM,UAAU,MACP,MAAM6P,EAAoB,GAChC,CAACA,CAAoB,CAAC,GACzBvM,EAAgB,MAAM;AAEpB,IADmB7B,IAAW,KAAK,CAACQ,MAASA,EAAK,IAAI,YAAY,SAAS,aAAa,GAC5E,IAAI,SAAS,eAAe,EAAE,OAAO,WAAW;AAAA,EAC9D,GAAG,CAACR,CAAQ,CAAC,GACUZ,gBAAAA,EAAAA;AAAAA,IACrB2B,EAAU;AAAA,IACV;AAAA,MACE,eAAe;AAAA,MACf,GAAGmN;AAAA,MACH,KAAKxO;AAAA,MACL,OAAO,EAAE,YAAY,GAAG,GAAGwO,EAAqB,MAAK;AAAA,MACrD,eAAejN,EAAqBiN,EAAqB,eAAe,MAAM;AAC5E,QAAIC,EAAmB,YAAY,SACjCA,EAAmB,UAAU,OAAO,YAAYF,GAAc,EAAE;AAAA,MAEpE,CAAC;AAAA,MACD,eAAehN,EAAqBiN,EAAqB,eAAe,MAAM;AAC5E,QAAArH,EAAe,cAAW,GACtBsH,EAAmB,YAAY,SACjCA,EAAmB,UAAU,OAAO,YAAYF,GAAc,EAAE;AAAA,MAEpE,CAAC;AAAA,MACD,gBAAgBhN,EAAqBiN,EAAqB,gBAAgB,MAAM;AAC9E,QAAAE,EAAoB;AAAA,MACtB,CAAC;AAAA,IACP;AAAA,EACA;AACA,CAAC,GACGC,KAAiB,mBACjBC,KAAkB/P,EAAM;AAAA,EAC1B,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,GAAGiR,EAAc,IAAKlR;AAC7C,WAAuB+B,gBAAAA,EAAAA,IAAI2B,EAAU,KAAK,EAAE,eAAe,IAAM,GAAGwN,GAAgB,KAAK7O,GAAc;AAAA,EACzG;AACF;AACA4O,GAAgB,cAAcD;AAC9B,IAAIG,KAAa,eACbC,KAAclQ,EAAM;AAAA,EACtB,CAAClB,GAAOqC,MAAiB;AACvB,UAAM,EAAE,eAAApC,GAAe,GAAGoR,EAAU,IAAKrR,GACnCe,IAAcrB,GAAeO,CAAa,GAC1CsC,IAAU3C,EAAiBuR,IAAYlR,CAAa,GACpDuJ,IAAiB/D,EAAwB0L,IAAYlR,CAAa;AACxE,WAAOsC,EAAQ,QAAQiH,EAAe,aAAa,WAA2BzH,gBAAAA,EAAAA,IAAIuP,IAAuB,EAAE,GAAGvQ,GAAa,GAAGsQ,GAAY,KAAKhP,EAAY,CAAE,IAAI;AAAA,EACnK;AACF;AACA+O,GAAY,cAAcD;AAC1B,IAAII,KAAoB,qBACpBC,KAAoBtQ,EAAM;AAAA,EAC5B,CAAC,EAAE,eAAAjB,GAAe,OAAA2B,GAAO,GAAG5B,EAAK,GAAIqC,MAAiB;AACpD,UAAMoP,IAAMvQ,EAAM,OAAO,IAAI,GACvBuB,IAAeC,EAAgBL,GAAcoP,CAAG,GAChDC,IAAYC,GAAY/P,CAAK;AACnC,WAAAV,EAAM,UAAU,MAAM;AACpB,YAAM0Q,IAASH,EAAI;AACnB,UAAI,CAACG,EAAQ;AACb,YAAMC,IAAc,OAAO,kBAAkB,WAKvChQ,IAJa,OAAO;AAAA,QACxBgQ;AAAA,QACA;AAAA,MACR,EACkC;AAC5B,UAAIH,MAAc9P,KAASC,GAAU;AACnC,cAAMgC,IAAQ,IAAI,MAAM,UAAU,EAAE,SAAS,IAAM;AACnD,QAAAhC,EAAS,KAAK+P,GAAQhQ,CAAK,GAC3BgQ,EAAO,cAAc/N,CAAK;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC6N,GAAW9P,CAAK,CAAC,GACEG,gBAAAA,EAAAA;AAAAA,MACrB2B,EAAU;AAAA,MACV;AAAA,QACE,GAAG1D;AAAA,QACH,OAAO,EAAE,GAAG8R,IAAwB,GAAG9R,EAAM,MAAK;AAAA,QAClD,KAAKyC;AAAA,QACL,cAAcb;AAAA,MACtB;AAAA,IACA;AAAA,EACE;AACF;AACA4P,GAAkB,cAAcD;AAChC,SAAS5N,GAAsB/B,GAAO;AACpC,SAAOA,MAAU,MAAMA,MAAU;AACnC;AACA,SAASoB,GAAmB+O,GAAgB;AAC1C,QAAMC,IAAqBC,GAAeF,CAAc,GAClDlP,IAAY3B,EAAM,OAAO,EAAE,GAC3BgR,IAAWhR,EAAM,OAAO,CAAC,GACzB4B,IAAwB5B,EAAM;AAAA,IAClC,CAACiR,MAAQ;AACP,YAAMlP,IAASJ,EAAU,UAAUsP;AACnC,MAAAH,EAAmB/O,CAAM,IACxB,SAASmP,EAAaxQ,GAAO;AAC5B,QAAAiB,EAAU,UAAUjB,GACpB,OAAO,aAAasQ,EAAS,OAAO,GAChCtQ,MAAU,OAAIsQ,EAAS,UAAU,OAAO,WAAW,MAAME,EAAa,EAAE,GAAG,GAAG;AAAA,MACpF,GAAGnP,CAAM;AAAA,IACX;AAAA,IACA,CAAC+O,CAAkB;AAAA,EACvB,GACQjP,IAAiB7B,EAAM,YAAY,MAAM;AAC7C,IAAA2B,EAAU,UAAU,IACpB,OAAO,aAAaqP,EAAS,OAAO;AAAA,EACtC,GAAG,CAAA,CAAE;AACL,SAAAhR,EAAM,UAAU,MACP,MAAM,OAAO,aAAagR,EAAS,OAAO,GAChD,CAAA,CAAE,GACE,CAACrP,GAAWC,GAAuBC,CAAc;AAC1D;AACA,SAASO,GAAauH,GAAO5H,GAAQG,GAAa;AAEhD,QAAMiP,IADapP,EAAO,SAAS,KAAK,MAAM,KAAKA,CAAM,EAAE,MAAM,CAACqP,MAASA,MAASrP,EAAO,CAAC,CAAC,IACvDA,EAAO,CAAC,IAAIA,GAC5CsP,IAAmBnP,IAAcyH,EAAM,QAAQzH,CAAW,IAAI;AACpE,MAAIoP,IAAeC,GAAU5H,GAAO,KAAK,IAAI0H,GAAkB,CAAC,CAAC;AAEjE,EAD2BF,EAAiB,WAAW,MAC/BG,IAAeA,EAAa,OAAO,CAACE,MAAMA,MAAMtP,CAAW;AACnF,QAAMC,IAAWmP,EAAa;AAAA,IAC5B,CAACrP,MAASA,EAAK,UAAU,YAAW,EAAG,WAAWkP,EAAiB,YAAW,CAAE;AAAA,EACpF;AACE,SAAOhP,MAAaD,IAAcC,IAAW;AAC/C;AACA,SAASoP,GAAUE,GAAOC,GAAY;AACpC,SAAOD,EAAM,IAAI,CAACE,GAAGC,MAAUH,GAAOC,IAAaE,KAASH,EAAM,MAAM,CAAC;AAC3E;AACG,IAACI,KAAQhT,IACRiT,KAAU5Q,IACV6Q,KAAQhP,IACRiP,KAAOvO,IACPwO,KAASrO,IACTsO,KAAWnO,IACXoO,KAAWxG,IACXyG,KAAQ1F,IACR2F,KAAQvF,IACRwF,KAAOlF,IACPmF,KAAWvE,IACXwE,KAAgB7D,IAGhB8D,KAAY1C;","x_google_ignoreList":[0]}
|
package/dist/index42.js
CHANGED
|
@@ -1,40 +1,60 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
e
|
|
35
|
-
|
|
1
|
+
import { j as r } from "./index30.js";
|
|
2
|
+
import { c as M } from "./index28.js";
|
|
3
|
+
import { clsx as R } from "./index26.js";
|
|
4
|
+
import { useState as S, useRef as j, useEffect as C } from "react";
|
|
5
|
+
import { Link as L } from "react-router";
|
|
6
|
+
const I = (y) => {
|
|
7
|
+
const e = M.c(18), {
|
|
8
|
+
href: p,
|
|
9
|
+
labelClassName: x,
|
|
10
|
+
labelActiveClassName: N,
|
|
11
|
+
labelElement: h,
|
|
12
|
+
isActive: _,
|
|
13
|
+
children: v
|
|
14
|
+
} = y, [i, a] = S(!1), o = j(null), g = j(null);
|
|
15
|
+
let n;
|
|
16
|
+
e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (n = () => {
|
|
17
|
+
o.current && clearTimeout(o.current), a(!0);
|
|
18
|
+
}, e[0] = n) : n = e[0];
|
|
19
|
+
const E = n;
|
|
20
|
+
let c;
|
|
21
|
+
e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (c = () => {
|
|
22
|
+
o.current = setTimeout(() => {
|
|
23
|
+
a(!1);
|
|
24
|
+
}, 120);
|
|
25
|
+
}, e[1] = c) : c = e[1];
|
|
26
|
+
const w = c;
|
|
27
|
+
let m, f;
|
|
28
|
+
e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = () => () => {
|
|
29
|
+
o.current && clearTimeout(o.current);
|
|
30
|
+
}, f = [], e[2] = m, e[3] = f) : (m = e[2], f = e[3]), C(m, f);
|
|
31
|
+
let u;
|
|
32
|
+
e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = () => {
|
|
33
|
+
a(!1);
|
|
34
|
+
}, e[4] = u) : u = e[4];
|
|
35
|
+
const b = i || _ ? N : "border-transparent";
|
|
36
|
+
let t;
|
|
37
|
+
e[5] !== x || e[6] !== b ? (t = R("relative z-10 -mb-px flex items-center border-b-2 pt-px text-sm font-medium text-gray-700 cursor-pointer transition-colors duration-200 ease-out hover:text-gray-800", x, b), e[5] = x, e[6] = b, e[7] = t) : t = e[7];
|
|
38
|
+
let s;
|
|
39
|
+
e[8] !== p || e[9] !== h || e[10] !== t ? (s = /* @__PURE__ */ r.jsx("div", { className: "relative flex", children: /* @__PURE__ */ r.jsx(L, { to: p, onClick: u, className: t, children: h }) }), e[8] = p, e[9] = h, e[10] = t, e[11] = s) : s = e[11];
|
|
40
|
+
let l;
|
|
41
|
+
e[12] !== v || e[13] !== i ? (l = i && /* @__PURE__ */ r.jsxs("div", { className: "absolute left-0 right-0 top-full z-20 text-gray-500 sm:text-sm", style: {
|
|
42
|
+
width: "100vw",
|
|
43
|
+
left: "50%",
|
|
44
|
+
transform: "translateX(-50%)"
|
|
45
|
+
}, children: [
|
|
46
|
+
/* @__PURE__ */ r.jsx("div", { "aria-hidden": "true", className: "absolute inset-0 top-1/2 bg-white shadow-sm" }),
|
|
47
|
+
/* @__PURE__ */ r.jsx("div", { className: "relative bg-white", children: v({
|
|
48
|
+
setIsOpen: a
|
|
49
|
+
}) })
|
|
50
|
+
] }), e[12] = v, e[13] = i, e[14] = l) : l = e[14];
|
|
51
|
+
let d;
|
|
52
|
+
return e[15] !== s || e[16] !== l ? (d = /* @__PURE__ */ r.jsxs("div", { className: "flex", ref: g, onMouseEnter: E, onMouseLeave: w, children: [
|
|
53
|
+
s,
|
|
54
|
+
l
|
|
55
|
+
] }), e[15] = s, e[16] = l, e[17] = d) : d = e[17], d;
|
|
56
|
+
};
|
|
36
57
|
export {
|
|
37
|
-
|
|
38
|
-
A as setOptions
|
|
58
|
+
I as MenuPopover
|
|
39
59
|
};
|
|
40
60
|
//# sourceMappingURL=index42.js.map
|
package/dist/index42.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index42.js","sources":["
|
|
1
|
+
{"version":3,"file":"index42.js","sources":["../src/components/header/MenuPopover/index.tsx"],"sourcesContent":["import clsx from \"clsx\"\nimport { ReactNode, useState, useRef, useEffect } from \"react\"\nimport { Link } from \"react-router\"\n\n\nexport const MenuPopover = ({\n href,\n labelClassName,\n labelActiveClassName,\n labelElement,\n isActive,\n children,\n}: {\n href: string;\n labelClassName: string;\n labelActiveClassName: string;\n labelElement: ReactNode;\n isActive: boolean;\n children: (props: { setIsOpen: (isOpen: boolean) => void }) => ReactNode\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const popoverRef = useRef(null)\n\n const handleMouseEnter = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n setIsOpen(true)\n }\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setIsOpen(false)\n }, 120)\n }\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n return (\n <div\n className=\"flex\"\n ref={popoverRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"relative flex\">\n <Link\n to={href}\n onClick={() => {\n setIsOpen(false)\n }}\n className={clsx(\n \"relative z-10 -mb-px flex items-center border-b-2 pt-px text-sm font-medium text-gray-700 cursor-pointer transition-colors duration-200 ease-out hover:text-gray-800\",\n labelClassName,\n isOpen || isActive ? labelActiveClassName : \"border-transparent\",\n )}\n >\n {labelElement}\n </Link>\n </div>\n\n {isOpen && (\n <div\n className=\"absolute left-0 right-0 top-full z-20 text-gray-500 sm:text-sm\"\n style={{ width: \"100vw\", left: \"50%\", transform: \"translateX(-50%)\" }}\n >\n <div\n aria-hidden=\"true\"\n className=\"absolute inset-0 top-1/2 bg-white shadow-sm\"\n />\n\n <div className=\"relative bg-white\">\n {children({ setIsOpen })}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["MenuPopover","t0","$","_c","href","labelClassName","labelActiveClassName","labelElement","isActive","children","isOpen","setIsOpen","useState","timeoutRef","useRef","popoverRef","t1","Symbol","for","current","clearTimeout","handleMouseEnter","t2","setTimeout","handleMouseLeave","t3","t4","useEffect","t5","t6","t7","clsx","t8","jsx","Link","t9","jsxs","width","left","transform","t10"],"mappings":"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"}
|
package/dist/index45.js
CHANGED
package/dist/index46.js
CHANGED
package/dist/index49.js
CHANGED
package/dist/index5.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as m } from "./
|
|
2
|
-
import { c as y } from "./
|
|
1
|
+
import { j as m } from "./index30.js";
|
|
2
|
+
import { c as y } from "./index28.js";
|
|
3
3
|
import { cn as f } from "./index2.js";
|
|
4
4
|
const g = {
|
|
5
5
|
red: "checked:border-red-700 checked:bg-red-700 indeterminate:border-red-700 indeterminate:bg-red-700 focus-visible:outline-red-700",
|
package/dist/index50.js
CHANGED
package/dist/index52.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as p from "react";
|
|
2
2
|
import * as f from "react-dom";
|
|
3
|
-
import { createSlot as c } from "./
|
|
4
|
-
import { j as u } from "./
|
|
3
|
+
import { createSlot as c } from "./index147.js";
|
|
4
|
+
import { j as u } from "./index30.js";
|
|
5
5
|
var l = [
|
|
6
6
|
"a",
|
|
7
7
|
"button",
|
package/dist/index56.js
CHANGED
package/dist/index56.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index56.js","sources":[
|
|
1
|
+
{"version":3,"file":"index56.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/index57.js
CHANGED
|
@@ -1,51 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { createContextScope as y } from "./index58.js";
|
|
3
|
-
import { useComposedRefs as S } from "./index53.js";
|
|
4
|
-
import { createSlot as M } from "./index172.js";
|
|
5
|
-
import { j as d } from "./index28.js";
|
|
6
|
-
function D(s) {
|
|
7
|
-
const m = s + "CollectionProvider", [A, E] = y(m), [N, f] = A(
|
|
8
|
-
m,
|
|
9
|
-
{ collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
|
|
10
|
-
), p = (c) => {
|
|
11
|
-
const { scope: e, children: l } = c, o = r.useRef(null), t = r.useRef(/* @__PURE__ */ new Map()).current;
|
|
12
|
-
return /* @__PURE__ */ d.jsx(N, { scope: e, itemMap: t, collectionRef: o, children: l });
|
|
13
|
-
};
|
|
14
|
-
p.displayName = m;
|
|
15
|
-
const a = s + "CollectionSlot", _ = M(a), C = r.forwardRef(
|
|
16
|
-
(c, e) => {
|
|
17
|
-
const { scope: l, children: o } = c, t = f(a, l), n = S(e, t.collectionRef);
|
|
18
|
-
return /* @__PURE__ */ d.jsx(_, { ref: n, children: o });
|
|
19
|
-
}
|
|
20
|
-
);
|
|
21
|
-
C.displayName = a;
|
|
22
|
-
const u = s + "CollectionItemSlot", R = "data-radix-collection-item", T = M(u), x = r.forwardRef(
|
|
23
|
-
(c, e) => {
|
|
24
|
-
const { scope: l, children: o, ...t } = c, n = r.useRef(null), I = S(e, n), i = f(u, l);
|
|
25
|
-
return r.useEffect(() => (i.itemMap.set(n, { ref: n, ...t }), () => {
|
|
26
|
-
i.itemMap.delete(n);
|
|
27
|
-
})), /* @__PURE__ */ d.jsx(T, { [R]: "", ref: I, children: o });
|
|
28
|
-
}
|
|
29
|
-
);
|
|
30
|
-
x.displayName = u;
|
|
31
|
-
function O(c) {
|
|
32
|
-
const e = f(s + "CollectionConsumer", c);
|
|
33
|
-
return r.useCallback(() => {
|
|
34
|
-
const o = e.collectionRef.current;
|
|
35
|
-
if (!o) return [];
|
|
36
|
-
const t = Array.from(o.querySelectorAll(`[${R}]`));
|
|
37
|
-
return Array.from(e.itemMap.values()).sort(
|
|
38
|
-
(i, v) => t.indexOf(i.ref.current) - t.indexOf(v.ref.current)
|
|
39
|
-
);
|
|
40
|
-
}, [e.collectionRef, e.itemMap]);
|
|
41
|
-
}
|
|
42
|
-
return [
|
|
43
|
-
{ Provider: p, Slot: C, ItemSlot: x },
|
|
44
|
-
O,
|
|
45
|
-
E
|
|
46
|
-
];
|
|
47
|
-
}
|
|
1
|
+
var e = {};
|
|
48
2
|
export {
|
|
49
|
-
|
|
3
|
+
e as __exports
|
|
50
4
|
};
|
|
51
5
|
//# sourceMappingURL=index57.js.map
|
package/dist/index57.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index57.js","sources":["../../../node_modules/@radix-ui/react-collection/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","createContextScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","props","scope","children","ref","React","itemMap","jsx","COLLECTION_SLOT_NAME","CollectionSlotImpl","createSlot","CollectionSlot","forwardedRef","context","composedRefs","useComposedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b"],"mappings":";;;;;AAQA,SAASA,EAAiBC,GAAM;AAC9B,QAAMC,IAAgBD,IAAO,sBACvB,CAACE,GAAyBC,CAAqB,IAAIC,EAAmBH,CAAa,GACnF,CAACI,GAAwBC,CAAoB,IAAIJ;AAAA,IACrDD;AAAA,IACA,EAAE,eAAe,EAAE,SAAS,KAAI,GAAI,SAAyB,oBAAI,IAAG,EAAE;AAAA,EAC1E,GACQM,IAAqB,CAACC,MAAU;AACpC,UAAM,EAAE,OAAAC,GAAO,UAAAC,EAAQ,IAAKF,GACtBG,IAAMC,EAAM,OAAO,IAAI,GACvBC,IAAUD,EAAM,OAAuB,oBAAI,IAAG,CAAE,EAAE;AACxD,WAAuBE,gBAAAA,EAAAA,IAAIT,GAAwB,EAAE,OAAAI,GAAO,SAAAI,GAAS,eAAeF,GAAK,UAAAD,GAAU;AAAA,EACrG;AACA,EAAAH,EAAmB,cAAcN;AACjC,QAAMc,IAAuBf,IAAO,kBAC9BgB,IAAqBC,EAAWF,CAAoB,GACpDG,IAAiBN,EAAM;AAAA,IAC3B,CAACJ,GAAOW,MAAiB;AACvB,YAAM,EAAE,OAAAV,GAAO,UAAAC,EAAQ,IAAKF,GACtBY,IAAUd,EAAqBS,GAAsBN,CAAK,GAC1DY,IAAeC,EAAgBH,GAAcC,EAAQ,aAAa;AACxE,aAAuBN,gBAAAA,EAAAA,IAAIE,GAAoB,EAAE,KAAKK,GAAc,UAAAX,EAAQ,CAAE;AAAA,IAChF;AAAA,EACJ;AACE,EAAAQ,EAAe,cAAcH;AAC7B,QAAMQ,IAAiBvB,IAAO,sBACxBwB,IAAiB,8BACjBC,IAAyBR,EAAWM,CAAc,GAClDG,IAAqBd,EAAM;AAAA,IAC/B,CAACJ,GAAOW,MAAiB;AACvB,YAAM,EAAE,OAAAV,GAAO,UAAAC,GAAU,GAAGiB,EAAQ,IAAKnB,GACnCG,IAAMC,EAAM,OAAO,IAAI,GACvBS,IAAeC,EAAgBH,GAAcR,CAAG,GAChDS,IAAUd,EAAqBiB,GAAgBd,CAAK;AAC1DG,aAAAA,EAAM,UAAU,OACdQ,EAAQ,QAAQ,IAAIT,GAAK,EAAE,KAAAA,GAAK,GAAGgB,GAAU,GACtC,MAAA;AAAM,QAAKP,EAAQ,QAAQ,OAAOT,CAAG;AAAA,QAC7C,GACsBG,gBAAAA,MAAIW,GAAwB,EAAO,CAACD,CAAc,GAAG,IAAM,KAAKH,GAAc,UAAAX,GAAU;AAAA,IACjH;AAAA,EACJ;AACE,EAAAgB,EAAmB,cAAcH;AACjC,WAASK,EAAcnB,GAAO;AAC5B,UAAMW,IAAUd,EAAqBN,IAAO,sBAAsBS,CAAK;AAWvE,WAViBG,EAAM,YAAY,MAAM;AACvC,YAAMiB,IAAiBT,EAAQ,cAAc;AAC7C,UAAI,CAACS,EAAgB,QAAO,CAAA;AAC5B,YAAMC,IAAe,MAAM,KAAKD,EAAe,iBAAiB,IAAIL,CAAc,GAAG,CAAC;AAKtF,aAJc,MAAM,KAAKJ,EAAQ,QAAQ,QAAQ,EACtB;AAAA,QACzB,CAACW,GAAGC,MAAMF,EAAa,QAAQC,EAAE,IAAI,OAAO,IAAID,EAAa,QAAQE,EAAE,IAAI,OAAO;AAAA,MAC1F;AAAA,IAEI,GAAG,CAACZ,EAAQ,eAAeA,EAAQ,OAAO,CAAC;AAAA,EAE7C;AACA,SAAO;AAAA,IACL,EAAE,UAAUb,GAAoB,MAAMW,GAAgB,UAAUQ,EAAkB;AAAA,IAClFE;AAAA,IACAzB;AAAA,EACJ;AACA;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index57.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|