@rpcbase/ui 0.208.0 → 0.209.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/index.js +13 -13
- package/dist/index100.js +3 -3
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +9 -3
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +4 -9
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +9 -4
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +18 -12
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +25 -18
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +5 -24
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +2 -2
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +4 -3
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +3 -3
- package/dist/index109.js.map +1 -1
- package/dist/index110.js +3 -4
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +3 -3
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +8 -5
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +7 -8
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +34 -7
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +7 -34
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +5 -7
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +7 -5
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +9 -7
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +3 -7
- package/dist/index119.js.map +1 -1
- package/dist/index120.js +4 -3
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +3 -4
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +3 -3
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +4 -3
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +3 -4
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +3 -3
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +7 -5
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +57 -8
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +7 -57
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +19 -6
- package/dist/index129.js.map +1 -1
- package/dist/index130.js +19 -19
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +34 -19
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +5 -34
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +8 -5
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +13 -7
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +10 -14
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +6 -10
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +4 -5
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +5 -5
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +5 -5
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +5 -5
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +4 -5
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +6 -4
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +21 -7
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +9 -21
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +7 -8
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +5 -6
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +6 -6
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +4 -6
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +4 -4
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +5 -4
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +4 -5
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +5 -4
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +4 -5
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +4 -4
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +3 -3
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +29 -5
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +33 -29
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +15 -32
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +10 -14
- package/dist/index159.js.map +1 -1
- package/dist/index160.js +9 -11
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +16 -9
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +86 -16
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +47 -86
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +16 -46
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +8 -17
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +10 -8
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +4 -9
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +22 -5
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +7 -22
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +6 -7
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +4 -4
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +4 -6
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +6 -4
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +67 -6
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +17 -67
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +12 -17
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +9 -12
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +20 -9
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +14 -17
- package/dist/index179.js.map +1 -1
- package/dist/index180.js +54 -16
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +9 -54
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +6 -10
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +26 -6
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +26 -26
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +10 -23
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +13 -13
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +6 -13
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +23 -6
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +385 -23
- package/dist/index189.js.map +1 -1
- package/dist/index190.js +487 -377
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +122 -487
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +53 -131
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +76 -51
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +897 -75
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +19 -899
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +446 -17
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +4 -448
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +57 -4
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +56 -52
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +55 -56
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +8 -60
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +15 -7
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +143 -15
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +4 -145
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +11 -4
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +104 -10
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +347 -94
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +87 -349
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +304 -73
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +193 -309
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +19 -211
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +27 -18
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +187 -27
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +16 -186
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +62 -18
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +40 -58
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +9 -43
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +25 -10
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +45 -25
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +17 -44
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +3 -18
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +5 -3
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +20 -4
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +24 -20
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +66 -23
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +14 -67
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +4 -15
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +51 -4
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +5 -50
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +26 -5
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +11 -24
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +8 -12
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +3 -13
- package/dist/index234.js +29 -3
- package/dist/index234.js.map +1 -0
- package/dist/index235.js +68 -25
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +2 -71
- package/dist/index237.js +15 -3
- package/dist/index237.js.map +1 -0
- package/dist/index238.js +51 -12
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +114 -50
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +9 -0
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +6 -115
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +13 -6
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +687 -13
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +234 -668
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +670 -222
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +7430 -700
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +7 -7431
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +12 -6
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +5 -12
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +459 -5
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +20 -8
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +32 -454
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +18 -36
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +25 -17
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +4 -27
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +58 -4
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +7 -58
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +12 -7
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +3 -13
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +17 -3
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +23 -14
- package/dist/index259.js.map +1 -1
- package/dist/index26.js +56 -18
- package/dist/index26.js.map +1 -1
- package/dist/index260.js +41 -23
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +13 -43
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +25 -13
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +16 -24
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +33 -15
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +5 -35
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +9 -5
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +7 -8
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +9 -8
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +10 -9
- package/dist/index269.js.map +1 -1
- package/dist/index27.js +50 -53
- package/dist/index27.js.map +1 -1
- package/dist/index270.js +7 -10
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +73 -7
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +161 -63
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +100 -157
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +13 -113
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +78 -12
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +23 -57
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +12 -45
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +16 -13
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +98 -15
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +1 -59
- package/dist/index280.js +50 -93
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +57 -5
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +41 -78
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +100 -58
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +46 -104
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +39 -51
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +141 -42
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +119 -122
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +222 -107
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +159 -173
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +4 -0
- package/dist/index290.js +177 -119
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +5 -298
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +6 -5
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +7 -6
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +5 -6
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +4 -4
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +21 -6
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +10 -21
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +126 -10
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +146 -108
- package/dist/index299.js.map +1 -1
- package/dist/index30.js +8 -6
- package/dist/index30.js.map +1 -0
- package/dist/index300.js +55 -151
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +107 -66
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +489 -107
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +63 -492
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +4 -63
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +28 -4
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +65 -27
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +147 -60
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +56 -147
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +553 -53
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +6 -5
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +170 -521
- package/dist/index310.js.map +1 -1
- package/dist/index311.js +327 -206
- package/dist/index311.js.map +1 -1
- package/dist/index312.js +251 -314
- package/dist/index312.js.map +1 -1
- package/dist/index32.js +3 -3
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +7 -5
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +7 -4
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +5 -10
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +7 -5
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +8 -7
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +12 -8
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +5 -11
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +6 -6
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +5 -5
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +9 -6
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +8 -9
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +5 -8
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +2 -2
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +11 -5
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +4 -4
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +6 -10
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +4 -7
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +6 -4
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +6 -6
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +5 -5
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +8 -5
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +13 -9
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +5 -12
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +4 -4
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +4 -4
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +13 -6
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +4 -10
- package/dist/index59.js.map +1 -1
- package/dist/index60.js +8 -7
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +68 -9
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +8 -68
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +31 -8
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +10 -31
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +16 -10
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +200 -15
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +21 -201
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +12 -16
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +123 -17
- package/dist/index69.js.map +1 -1
- package/dist/index70.js +18 -122
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +9 -19
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +9 -8
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +11 -7
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +7 -11
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +6 -6
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +4 -9
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +42 -5
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +368 -29
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +37 -379
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +22 -39
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +56 -20
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +7 -57
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +4 -6
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +3 -3
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +3 -3
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +3 -3
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +5 -4
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +3 -3
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +10 -6
- package/dist/index89.js.map +1 -1
- package/dist/index90.js +7 -10
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +6 -7
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +5 -6
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +7 -5
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +48 -8
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +104 -46
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +8 -103
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +5 -9
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +3 -3
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +6 -7
- package/dist/index99.js.map +1 -1
- package/package.json +2 -2
- package/dist/index233.js.map +0 -1
- package/dist/index236.js.map +0 -1
- package/dist/index28.js.map +0 -1
- package/dist/index313.js +0 -272
- package/dist/index313.js.map +0 -1
package/dist/index312.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index312.js","names":["createContext","useCallback","useContext","useEffect","useMemo","useState","Context","DialogPrimitive","DropdownMenuPrimitive","Loader2","MoreVertical","X","cn","NotificationItem","NotificationsRealtimeState","ListResponse","ok","error","notifications","unreadCount","unseenCount","DayGroup","key","label","items","toMs","iso","ms","Date","parse","Number","isFinite","getDayKey","date","getTime","year","getFullYear","month","String","getMonth","padStart","day","getDate","formatDayLabel","yearRaw","monthRaw","dayRaw","split","now","includeYear","toLocaleDateString","undefined","weekday","groupByDay","groups","currentKey","item","createdAt","push","length","EmptyRealtimeContext","NotificationsDrawer","open","onOpenChange","className","limit","defaultUnreadOnly","realtimeContext","realtime","setItems","setUnreadCount","setUnseenCount","loading","setLoading","setError","unreadOnly","setUnreadOnly","mergedItems","mergedUnreadCount","mergedUnseenCount","mergedLoading","mergedError","Error","message","visibleItems","slice","unread","filter","n","readAt","read","Boolean","unreadGroups","readGroups","refresh","markSeen","res","fetch","method","headers","credentials","body","JSON","stringify","json","catch","nextItems","Array","isArray","Math","max","floor","keepalive","markAsRead","id","encodeURIComponent","nowIso","toISOString","current","target","find","count","seenAt","map","archive","v","group","NotificationRow","t0","$","_c","notification","onMarkRead","onArchive","isUnread","t1","bb0","toLocaleString","createdAtLabel","t2","t3","t4","url","window","location","href","t5","title","t6","t7","t8","t9","t10","t11","Symbol","for","t12","t13","t14","t15","t16","t17","t18"],"sources":["../src/components/Notifications/NotificationsDrawer.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useMemo, useState, type Context } from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { Loader2, MoreVertical, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type { NotificationItem, NotificationsRealtimeState } from \"./types\"\n\n\ntype ListResponse = {\n ok?: boolean\n error?: string\n notifications?: NotificationItem[]\n unreadCount?: number\n unseenCount?: number\n}\n\ntype DayGroup = {\n key: string\n label: string\n items: NotificationItem[]\n}\n\nconst toMs = (iso: string): number => {\n const ms = Date.parse(iso)\n return Number.isFinite(ms) ? ms : 0\n}\n\nconst getDayKey = (iso: string): string => {\n const date = new Date(toMs(iso))\n if (!Number.isFinite(date.getTime())) return \"unknown\"\n\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, \"0\")\n const day = String(date.getDate()).padStart(2, \"0\")\n\n return `${year}-${month}-${day}`\n}\n\nconst formatDayLabel = (key: string): string => {\n if (key === \"unknown\") return \"Unknown date\"\n const [yearRaw, monthRaw, dayRaw] = key.split(\"-\")\n const year = Number(yearRaw)\n const month = Number(monthRaw)\n const day = Number(dayRaw)\n\n if (!Number.isFinite(year) || !Number.isFinite(month) || !Number.isFinite(day)) return \"Unknown date\"\n\n const date = new Date(year, month - 1, day)\n if (!Number.isFinite(date.getTime())) return \"Unknown date\"\n\n const now = new Date()\n const includeYear = now.getFullYear() !== year\n return date.toLocaleDateString(undefined, includeYear\n ? { weekday: \"short\", month: \"short\", day: \"numeric\", year: \"numeric\" }\n : { weekday: \"short\", month: \"short\", day: \"numeric\" })\n}\n\nconst groupByDay = (items: NotificationItem[]): DayGroup[] => {\n const groups: DayGroup[] = []\n let currentKey: string | null = null\n\n for (const item of items) {\n const key = getDayKey(item.createdAt)\n if (key !== currentKey) {\n currentKey = key\n groups.push({ key, label: formatDayLabel(key), items: [] })\n }\n groups[groups.length - 1]!.items.push(item)\n }\n\n return groups\n}\n\nconst EmptyRealtimeContext = createContext<NotificationsRealtimeState | null>(null)\n\nexport function NotificationsDrawer({\n open,\n onOpenChange,\n className,\n limit = 50,\n defaultUnreadOnly = false,\n realtimeContext,\n}: {\n open: boolean\n onOpenChange: (open: boolean) => void\n className?: string\n limit?: number\n defaultUnreadOnly?: boolean\n realtimeContext?: Context<NotificationsRealtimeState | null>\n}) {\n const realtime = useContext(realtimeContext ?? EmptyRealtimeContext)\n\n const [items, setItems] = useState<NotificationItem[]>([])\n const [unreadCount, setUnreadCount] = useState<number>(0)\n const [unseenCount, setUnseenCount] = useState<number>(0)\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [unreadOnly, setUnreadOnly] = useState<boolean>(defaultUnreadOnly)\n\n const mergedItems = realtime?.notifications ?? items\n const mergedUnreadCount = realtime?.unreadCount ?? unreadCount\n const mergedUnseenCount = realtime?.unseenCount ?? unseenCount\n const mergedLoading = realtime?.loading ?? loading\n const mergedError = realtime?.error\n ? (realtime.error instanceof Error ? realtime.error.message : String(realtime.error))\n : error\n\n const visibleItems = useMemo(() => mergedItems.slice(0, limit), [limit, mergedItems])\n\n const unread = useMemo(() => visibleItems.filter((n) => !n.readAt), [visibleItems])\n const read = useMemo(() => visibleItems.filter((n) => Boolean(n.readAt)), [visibleItems])\n const unreadGroups = useMemo(() => groupByDay(unread), [unread])\n const readGroups = useMemo(() => groupByDay(read), [read])\n\n const refresh = useCallback(async ({ unreadOnly, markSeen }: { unreadOnly: boolean; markSeen: boolean }) => {\n setLoading(true)\n setError(null)\n\n try {\n const res = await fetch(\"/api/rb/notifications\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: JSON.stringify({ limit, unreadOnly, markSeen }),\n })\n\n const json = (await res.json().catch(() => null)) as ListResponse | null\n if (!res.ok || !json?.ok) {\n setError(json?.error || \"Unable to load notifications.\")\n return\n }\n\n const nextItems = Array.isArray(json.notifications) ? json.notifications : []\n setItems(nextItems)\n setUnreadCount(Number.isFinite(json.unreadCount) ? Math.max(0, Math.floor(json.unreadCount ?? 0)) : 0)\n setUnseenCount(Number.isFinite(json.unseenCount) ? Math.max(0, Math.floor(json.unseenCount ?? 0)) : 0)\n } catch {\n setError(\"Unable to load notifications.\")\n } finally {\n setLoading(false)\n }\n }, [limit])\n\n useEffect(() => {\n if (!open) return\n if (realtime) {\n void (async () => {\n try {\n await fetch(\"/api/rb/notifications\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n keepalive: true,\n body: JSON.stringify({ limit: 1, markSeen: true }),\n })\n } catch {\n return\n }\n })()\n return\n }\n void refresh({ unreadOnly, markSeen: true })\n }, [open, realtime, refresh, unreadOnly])\n\n useEffect(() => {\n if (!open) return\n if (realtime) return\n void refresh({ unreadOnly, markSeen: false })\n }, [open, realtime, refresh, unreadOnly])\n\n const markAsRead = async (id: string) => {\n try {\n const res = await fetch(`/api/rb/notifications/${encodeURIComponent(id)}/read`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n keepalive: true,\n body: \"{}\",\n })\n\n const json = (await res.json().catch(() => null)) as { ok?: boolean } | null\n if (!res.ok || !json?.ok) return\n\n const nowIso = new Date().toISOString()\n if (realtime) return\n setItems((current) => {\n const target = current.find((n) => n.id === id)\n if (target && !target.readAt) {\n setUnreadCount((count) => Math.max(0, count - 1))\n }\n if (target && !target.seenAt) {\n setUnseenCount((count) => Math.max(0, count - 1))\n }\n return current.map((n) => (n.id === id && !n.readAt ? { ...n, readAt: nowIso, ...(n.seenAt ? {} : { seenAt: nowIso }) } : n))\n })\n } catch {\n return\n }\n }\n\n const archive = async (id: string) => {\n try {\n const res = await fetch(`/api/rb/notifications/${encodeURIComponent(id)}/archive`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: \"{}\",\n })\n\n const json = (await res.json().catch(() => null)) as { ok?: boolean } | null\n if (!res.ok || !json?.ok) return\n\n if (realtime) return\n setItems((current) => {\n const target = current.find((n) => n.id === id)\n if (target && !target.readAt) {\n setUnreadCount((count) => Math.max(0, count - 1))\n }\n if (target && !target.seenAt) {\n setUnseenCount((count) => Math.max(0, count - 1))\n }\n return current.filter((n) => n.id !== id)\n })\n } catch {\n return\n }\n }\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className=\"fixed inset-0 z-50 bg-black/50\" />\n <DialogPrimitive.Content\n className={cn(\n \"fixed right-0 top-0 z-50 flex h-full w-full max-w-md flex-col border-l bg-background shadow-xl outline-none\",\n className,\n )}\n >\n <header className=\"flex items-center justify-between gap-2 border-b px-4 py-3\">\n <div className=\"flex min-w-0 flex-col\">\n <DialogPrimitive.Title className=\"text-sm font-semibold\">Notifications</DialogPrimitive.Title>\n <span className=\"text-xs text-muted-foreground\">\n {mergedUnreadCount > 0 ? `${mergedUnreadCount} unread` : mergedUnseenCount > 0 ? `${mergedUnseenCount} new` : \"All caught up\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={() => setUnreadOnly((v) => !v)}\n className={cn(\n \"rounded-md border px-2 py-1 text-xs\",\n unreadOnly ? \"bg-accent text-foreground\" : \"bg-background text-muted-foreground hover:bg-accent\",\n )}\n >\n {unreadOnly ? \"Unread\" : \"All\"}\n </button>\n <DialogPrimitive.Close asChild>\n <button type=\"button\" className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\">\n <X className=\"h-4 w-4\" />\n </button>\n </DialogPrimitive.Close>\n </div>\n </header>\n\n <div className=\"flex-1 overflow-y-auto px-4 pb-3\">\n {mergedLoading ? (\n <div className=\"flex items-center justify-center py-10 text-muted-foreground\">\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n </div>\n ) : mergedError ? (\n <div className=\"py-10 text-center text-sm text-muted-foreground\">{mergedError}</div>\n ) : visibleItems.length === 0 ? (\n <div className=\"py-10 text-center text-sm text-muted-foreground\">No notifications.</div>\n ) : (\n <div className=\"flex flex-col gap-4\">\n <div>\n <div className=\"sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground\">\n Unread notifications\n </div>\n {unreadGroups.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">No unread notifications.</div>\n ) : (\n unreadGroups.map((group) => (\n <div key={`unread:${group.key}`}>\n <div className=\"sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground\">\n {group.label}\n </div>\n <div className=\"-mx-4 flex flex-col divide-y divide-border\">\n {group.items.map((n) => (\n <NotificationRow\n key={n.id}\n notification={n}\n onMarkRead={markAsRead}\n onArchive={archive}\n />\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n\n {unreadOnly ? null : (\n <div>\n <div className=\"sticky top-0 z-20 -mx-4 flex h-8 items-center border-b bg-background px-4 text-xs font-semibold text-muted-foreground\">\n Previous notifications\n </div>\n {readGroups.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">No previous notifications.</div>\n ) : (\n readGroups.map((group) => (\n <div key={`previous:${group.key}`}>\n <div className=\"sticky top-8 z-10 -mx-4 flex h-7 items-center bg-background px-4 text-[11px] font-semibold text-muted-foreground\">\n {group.label}\n </div>\n <div className=\"-mx-4 flex flex-col divide-y divide-border\">\n {group.items.map((n) => (\n <NotificationRow\n key={n.id}\n notification={n}\n onMarkRead={markAsRead}\n onArchive={archive}\n />\n ))}\n </div>\n </div>\n ))\n )}\n </div>\n )}\n </div>\n )}\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n )\n}\n\nfunction NotificationRow({\n notification,\n onMarkRead,\n onArchive,\n}: {\n notification: NotificationItem\n onMarkRead: (id: string) => void\n onArchive: (id: string) => void\n}) {\n const isUnread = !notification.readAt\n const createdAtLabel = (() => {\n const date = new Date(toMs(notification.createdAt))\n if (!Number.isFinite(date.getTime())) return \"\"\n return date.toLocaleString()\n })()\n\n return (\n <div\n className={cn(\n \"group flex w-full gap-3 px-4 py-3 hover:bg-accent/40\",\n isUnread ? \"bg-primary/5\" : \"bg-background\",\n )}\n >\n <button\n type=\"button\"\n className=\"min-w-0 flex-1 text-left\"\n onClick={() => {\n if (isUnread) {\n void onMarkRead(notification.id)\n }\n if (notification.url) {\n window.location.href = notification.url\n }\n }}\n >\n <div className=\"min-w-0\">\n <div className=\"truncate text-sm font-semibold\">{notification.title}</div>\n {notification.body ? (\n <div className=\"mt-0.5 line-clamp-2 text-xs text-muted-foreground\">{notification.body}</div>\n ) : null}\n </div>\n {notification.url ? <div className=\"mt-2 truncate text-xs text-primary\">{notification.url}</div> : null}\n {createdAtLabel ? (\n <div className=\"mt-2 text-[11px] text-muted-foreground\">{createdAtLabel}</div>\n ) : null}\n </button>\n <div className=\"flex items-start\">\n <DropdownMenuPrimitive.Root>\n <DropdownMenuPrimitive.Trigger asChild>\n <button\n type=\"button\"\n className=\"inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-accent\"\n aria-label=\"Notification options\"\n >\n <MoreVertical className=\"h-4 w-4\" />\n </button>\n </DropdownMenuPrimitive.Trigger>\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n align=\"end\"\n sideOffset={6}\n className={cn(\n \"z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n )}\n >\n <DropdownMenuPrimitive.Item\n className=\"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n onSelect={() => onArchive(notification.id)}\n >\n Archive\n </DropdownMenuPrimitive.Item>\n <DropdownMenuPrimitive.Item\n className=\"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n disabled={!isUnread}\n onSelect={() => onMarkRead(notification.id)}\n >\n Mark as read\n </DropdownMenuPrimitive.Item>\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n </DropdownMenuPrimitive.Root>\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index312.js","names":["useEffect","useMemo","useState","Loader2","cn","NotificationDigestFrequency","NotificationSettings","NotificationTopicCatalogItem","NotificationTopicPreference","SettingsResponse","ok","error","settings","digestValues","Array","value","label","normalizeSettings","digestFrequency","frequency","topicPreferences","isArray","map","pref","topic","trim","inApp","emailDigest","push","filter","length","lastDigestSentAt","normalizeTopics","topics","seen","Set","title","description","undefined","has","add","applyTopicsToSettings","defaults","byTopic","Map","existing","get","NotificationsSettings","className","loading","setLoading","saving","setSaving","setError","setSettings","normalizedTopics","loadSettings","res","fetch","method","credentials","json","catch","normalized","saveSettings","next","headers","body","JSON","stringify","current","updatePreference","update","p","hasExisting","some","nextPrefs","e","target","opt","meta","find","checked"],"sources":["../src/components/Notifications/NotificationsSettings.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\"\nimport { Loader2 } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport type { NotificationDigestFrequency, NotificationSettings, NotificationTopicCatalogItem, NotificationTopicPreference } from \"./types\"\n\n\ntype SettingsResponse = {\n ok?: boolean\n error?: string\n settings?: NotificationSettings\n}\n\nconst digestValues: Array<{ value: NotificationDigestFrequency; label: string }> = [\n { value: \"off\", label: \"Off\" },\n { value: \"daily\", label: \"Daily\" },\n { value: \"weekly\", label: \"Weekly\" },\n]\n\nconst normalizeSettings = (settings: NotificationSettings | undefined): NotificationSettings => {\n const digestFrequency = settings?.digestFrequency\n const frequency: NotificationDigestFrequency =\n digestFrequency === \"off\" || digestFrequency === \"daily\" || digestFrequency === \"weekly\"\n ? digestFrequency\n : \"weekly\"\n\n const topicPreferences = Array.isArray(settings?.topicPreferences)\n ? settings!.topicPreferences\n .map((pref) => ({\n topic: typeof pref.topic === \"string\" ? pref.topic.trim() : \"\",\n inApp: pref.inApp === true,\n emailDigest: pref.emailDigest === true,\n push: pref.push === true,\n }))\n .filter((pref) => pref.topic.length > 0)\n : []\n\n return {\n digestFrequency: frequency,\n topicPreferences,\n ...(typeof settings?.lastDigestSentAt === \"string\" ? { lastDigestSentAt: settings.lastDigestSentAt } : {}),\n }\n}\n\nconst normalizeTopics = (topics: NotificationTopicCatalogItem[] | undefined): NotificationTopicCatalogItem[] => {\n if (!Array.isArray(topics)) return []\n\n const seen = new Set<string>()\n return topics\n .map((topic) => ({\n topic: typeof topic.topic === \"string\" ? topic.topic.trim() : \"\",\n title: typeof topic.title === \"string\" ? topic.title.trim() : \"\",\n description: typeof topic.description === \"string\" ? topic.description.trim() : undefined,\n }))\n .filter((topic) => topic.topic.length > 0)\n .filter((topic) => {\n if (seen.has(topic.topic)) return false\n seen.add(topic.topic)\n return true\n })\n}\n\nconst applyTopicsToSettings = (\n settings: NotificationSettings,\n topics: NotificationTopicCatalogItem[],\n): NotificationSettings => {\n const defaults: NotificationTopicPreference = {\n topic: \"\",\n inApp: true,\n emailDigest: true,\n push: false,\n }\n\n const byTopic = new Map(settings.topicPreferences.map((pref) => [pref.topic, pref]))\n return {\n ...settings,\n topicPreferences: topics.map((topic) => {\n const existing = byTopic.get(topic.topic)\n return existing\n ? {\n topic: topic.topic,\n inApp: existing.inApp === true,\n emailDigest: existing.emailDigest === true,\n push: existing.push === true,\n }\n : {\n ...defaults,\n topic: topic.topic,\n }\n }),\n }\n}\n\nexport function NotificationsSettings({\n className,\n topics,\n}: {\n className?: string\n topics?: NotificationTopicCatalogItem[]\n}) {\n const [loading, setLoading] = useState(true)\n const [saving, setSaving] = useState(false)\n const [error, setError] = useState<string | null>(null)\n const [settings, setSettings] = useState<NotificationSettings>(() =>\n normalizeSettings({ digestFrequency: \"weekly\", topicPreferences: [] }),\n )\n\n const normalizedTopics = useMemo(() => normalizeTopics(topics), [topics])\n\n const loadSettings = async () => {\n setLoading(true)\n setError(null)\n try {\n const res = await fetch(\"/api/rb/notifications/settings\", {\n method: \"GET\",\n credentials: \"include\",\n })\n const json = (await res.json().catch(() => null)) as SettingsResponse | null\n if (!res.ok || !json?.ok) {\n setError(json?.error || \"Unable to load notification settings.\")\n return\n }\n const normalized = normalizeSettings(json.settings)\n setSettings(normalizedTopics.length > 0 ? applyTopicsToSettings(normalized, normalizedTopics) : normalized)\n } catch {\n setError(\"Unable to load notification settings.\")\n } finally {\n setLoading(false)\n }\n }\n\n const saveSettings = async (next: NotificationSettings) => {\n setSaving(true)\n setError(null)\n try {\n const res = await fetch(\"/api/rb/notifications/settings\", {\n method: \"PUT\",\n headers: { \"Content-Type\": \"application/json\" },\n credentials: \"include\",\n body: JSON.stringify({\n digestFrequency: next.digestFrequency,\n topicPreferences: next.topicPreferences,\n }),\n })\n const json = (await res.json().catch(() => null)) as SettingsResponse | null\n if (!res.ok || !json?.ok) {\n setError(json?.error || \"Unable to save notification settings.\")\n return\n }\n const normalized = normalizeSettings(json.settings)\n setSettings(normalizedTopics.length > 0 ? applyTopicsToSettings(normalized, normalizedTopics) : normalized)\n } catch {\n setError(\"Unable to save notification settings.\")\n } finally {\n setSaving(false)\n }\n }\n\n useEffect(() => {\n void loadSettings()\n }, [])\n\n useEffect(() => {\n if (normalizedTopics.length === 0) return\n setSettings((current) => applyTopicsToSettings(current, normalizedTopics))\n }, [normalizedTopics])\n\n const updatePreference = (topic: string, update: (p: NotificationTopicPreference) => NotificationTopicPreference) => {\n const hasExisting = settings.topicPreferences.some((p) => p.topic === topic)\n const nextPrefs = hasExisting\n ? settings.topicPreferences.map((p) => (p.topic === topic ? update(p) : p))\n : [...settings.topicPreferences, update({ topic, inApp: true, emailDigest: true, push: false })]\n const next = normalizeSettings({ ...settings, topicPreferences: nextPrefs })\n setSettings(next)\n void saveSettings(next)\n }\n\n if (loading) {\n return (\n <div className={cn(\"flex items-center justify-center py-10 text-muted-foreground\", className)}>\n <Loader2 className=\"h-4 w-4 animate-spin\" />\n </div>\n )\n }\n\n return (\n <div className={cn(\"space-y-4\", className)}>\n <div className=\"rounded-md border bg-background p-4\">\n <div className=\"flex items-start justify-between gap-3\">\n <div>\n <div className=\"text-sm font-semibold\">Email digest</div>\n <div className=\"mt-1 text-xs text-muted-foreground\">Choose how often we email you a summary.</div>\n </div>\n <select\n value={settings.digestFrequency}\n onChange={(e) => {\n const value = e.target.value as NotificationDigestFrequency\n const next = normalizeSettings({ ...settings, digestFrequency: value })\n setSettings(next)\n void saveSettings(next)\n }}\n className=\"h-9 rounded-md border bg-background px-2 text-sm\"\n >\n {digestValues.map((opt) => (\n <option key={opt.value} value={opt.value}>\n {opt.label}\n </option>\n ))}\n </select>\n </div>\n </div>\n\n <div className=\"rounded-md border bg-background p-4\">\n <div className=\"flex items-start justify-between gap-3\">\n <div>\n <div className=\"text-sm font-semibold\">Topics</div>\n <div className=\"mt-1 text-xs text-muted-foreground\">Choose where you receive each topic.</div>\n </div>\n </div>\n\n {normalizedTopics.length === 0 ? (\n <div className=\"mt-4 text-sm text-muted-foreground\">No topics configured.</div>\n ) : (\n <div className=\"mt-4 overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"text-left text-xs text-muted-foreground\">\n <th className=\"py-2 pr-4 font-medium\">Topic</th>\n <th className=\"py-2 pr-4 font-medium\">In-app</th>\n <th className=\"py-2 pr-4 font-medium\">Email digest</th>\n <th className=\"py-2 pr-4 font-medium\">Push</th>\n </tr>\n </thead>\n <tbody>\n {settings.topicPreferences.map((pref) => {\n const meta = normalizedTopics.find((topic) => topic.topic === pref.topic)\n return (\n <tr key={pref.topic} className=\"border-t align-top\">\n <td className=\"py-3 pr-4\">\n <div className=\"flex flex-col gap-1\">\n <span className=\"font-medium\">{meta?.title || pref.topic}</span>\n {meta?.description ? (\n <span className=\"text-xs text-muted-foreground\">{meta.description}</span>\n ) : null}\n <span className=\"text-[11px] text-muted-foreground\">{pref.topic}</span>\n </div>\n </td>\n <td className=\"py-3 pr-4\">\n <input\n type=\"checkbox\"\n checked={pref.inApp}\n onChange={(e) =>\n updatePreference(pref.topic, (p) => ({ ...p, inApp: e.target.checked }))\n }\n />\n </td>\n <td className=\"py-3 pr-4\">\n <input\n type=\"checkbox\"\n checked={pref.emailDigest}\n onChange={(e) =>\n updatePreference(pref.topic, (p) => ({ ...p, emailDigest: e.target.checked }))\n }\n />\n </td>\n <td className=\"py-3 pr-4\">\n <input\n type=\"checkbox\"\n checked={pref.push}\n disabled\n className=\"opacity-50\"\n aria-label=\"Push notifications (coming soon)\"\n />\n </td>\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )}\n\n {error ? (\n <div className=\"mt-3 text-sm text-destructive\">{error}</div>\n ) : saving ? (\n <div className=\"mt-3 text-xs text-muted-foreground\">Saving…</div>\n ) : null}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
|
package/dist/index32.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
//#region ../../node_modules/date-fns/
|
|
1
|
+
import e from "./index31.js";
|
|
2
|
+
//#region ../../node_modules/date-fns/toDate.js
|
|
3
3
|
function t(t, n) {
|
|
4
|
-
return
|
|
4
|
+
return e(n || t, t);
|
|
5
5
|
}
|
|
6
6
|
//#endregion
|
|
7
7
|
export { t as default };
|
package/dist/index32.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index32.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index32.js","names":[],"sources":["../../../node_modules/date-fns/toDate.js"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n"],"x_google_ignoreList":[0],"mappings":";;AAwCA,SAAgB,EAAO,GAAU,GAAS;AAExC,QAAO,EAAc,KAAW,GAAU,EAAS"}
|
package/dist/index33.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import e from "./index31.js";
|
|
2
|
+
import t from "./index32.js";
|
|
3
|
+
//#region ../../node_modules/date-fns/addDays.js
|
|
4
|
+
function n(n, r, i) {
|
|
5
|
+
let a = t(n, i?.in);
|
|
6
|
+
return isNaN(r) ? e(i?.in || n, NaN) : (r && a.setDate(a.getDate() + r), a);
|
|
5
7
|
}
|
|
6
8
|
//#endregion
|
|
7
|
-
export {
|
|
9
|
+
export { n as default };
|
|
8
10
|
|
|
9
11
|
//# sourceMappingURL=index33.js.map
|
package/dist/index33.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index33.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index33.js","names":[],"sources":["../../../node_modules/date-fns/addDays.js"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n"],"x_google_ignoreList":[0],"mappings":";;;AA6BA,SAAgB,EAAQ,GAAM,GAAQ,GAAS;CAC7C,IAAM,IAAQ,EAAO,GAAM,GAAS,GAAG;AAOvC,QANI,MAAM,EAAO,GAAS,EAAc,GAAS,MAAM,GAAM,IAAI,IAG5D,KAEL,EAAM,QAAQ,EAAM,SAAS,GAAG,EAAO,EAFnB"}
|
package/dist/index34.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
import t from "./
|
|
3
|
-
//#region ../../node_modules/date-fns/
|
|
1
|
+
import e from "./index31.js";
|
|
2
|
+
import t from "./index32.js";
|
|
3
|
+
//#region ../../node_modules/date-fns/addMonths.js
|
|
4
4
|
function n(n, r, i) {
|
|
5
5
|
let a = t(n, i?.in);
|
|
6
|
-
|
|
6
|
+
if (isNaN(r)) return e(i?.in || n, NaN);
|
|
7
|
+
if (!r) return a;
|
|
8
|
+
let o = a.getDate(), s = e(i?.in || n, a.getTime());
|
|
9
|
+
return s.setMonth(a.getMonth() + r + 1, 0), o >= s.getDate() ? s : (a.setFullYear(s.getFullYear(), s.getMonth(), o), a);
|
|
7
10
|
}
|
|
8
11
|
//#endregion
|
|
9
12
|
export { n as default };
|
package/dist/index34.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index34.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index34.js","names":[],"sources":["../../../node_modules/date-fns/addMonths.js"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addMonths} function options.\n */\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n * @param options - The options object\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(options?.in || date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n"],"x_google_ignoreList":[0],"mappings":";;;AAiCA,SAAgB,EAAU,GAAM,GAAQ,GAAS;CAC/C,IAAM,IAAQ,EAAO,GAAM,GAAS,GAAG;AACvC,KAAI,MAAM,EAAO,CAAE,QAAO,EAAc,GAAS,MAAM,GAAM,IAAI;AACjE,KAAI,CAAC,EAEH,QAAO;CAET,IAAM,IAAa,EAAM,SAAS,EAU5B,IAAoB,EAAc,GAAS,MAAM,GAAM,EAAM,SAAS,CAAC;AAoB3E,QAnBF,EAAkB,SAAS,EAAM,UAAU,GAAG,IAAS,GAAG,EAAE,EAExD,KADgB,EAAkB,SAAS,GAItC,KASP,EAAM,YACJ,EAAkB,aAAa,EAC/B,EAAkB,UAAU,EAC5B,EACD,EACM"}
|
package/dist/index35.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
let a = t(n, i?.in);
|
|
6
|
-
if (isNaN(r)) return e(i?.in || n, NaN);
|
|
7
|
-
if (!r) return a;
|
|
8
|
-
let o = a.getDate(), s = e(i?.in || n, a.getTime());
|
|
9
|
-
return s.setMonth(a.getMonth() + r + 1, 0), o >= s.getDate() ? s : (a.setFullYear(s.getFullYear(), s.getMonth(), o), a);
|
|
1
|
+
//#region ../../node_modules/date-fns/_lib/defaultOptions.js
|
|
2
|
+
var e = {};
|
|
3
|
+
function t() {
|
|
4
|
+
return e;
|
|
10
5
|
}
|
|
11
6
|
//#endregion
|
|
12
|
-
export {
|
|
7
|
+
export { t as getDefaultOptions };
|
|
13
8
|
|
|
14
9
|
//# sourceMappingURL=index35.js.map
|
package/dist/index35.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index35.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index35.js","names":[],"sources":["../../../node_modules/date-fns/_lib/defaultOptions.js"],"sourcesContent":["let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAI,IAAiB,EAAE;AAEvB,SAAgB,IAAoB;AAClC,QAAO"}
|
package/dist/index36.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import e from "./index32.js";
|
|
2
|
+
import { getDefaultOptions as t } from "./index35.js";
|
|
3
|
+
//#region ../../node_modules/date-fns/startOfWeek.js
|
|
4
|
+
function n(n, r) {
|
|
5
|
+
let i = t(), a = r?.weekStartsOn ?? r?.locale?.options?.weekStartsOn ?? i.weekStartsOn ?? i.locale?.options?.weekStartsOn ?? 0, o = e(n, r?.in), s = o.getDay(), c = (s < a ? 7 : 0) + s - a;
|
|
6
|
+
return o.setDate(o.getDate() - c), o.setHours(0, 0, 0, 0), o;
|
|
5
7
|
}
|
|
6
8
|
//#endregion
|
|
7
|
-
export {
|
|
9
|
+
export { n as default };
|
|
8
10
|
|
|
9
11
|
//# sourceMappingURL=index36.js.map
|
package/dist/index36.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index36.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index36.js","names":[],"sources":["../../../node_modules/date-fns/startOfWeek.js"],"sourcesContent":["import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n"],"x_google_ignoreList":[0],"mappings":";;;AAkCA,SAAgB,EAAY,GAAM,GAAS;CACzC,IAAM,IAAiB,GAAmB,EACpC,IACJ,GAAS,gBACT,GAAS,QAAQ,SAAS,gBAC1B,EAAe,gBACf,EAAe,QAAQ,SAAS,gBAChC,GAEI,IAAQ,EAAO,GAAM,GAAS,GAAG,EACjC,IAAM,EAAM,QAAQ,EACpB,KAAQ,IAAM,IAAe,IAAI,KAAK,IAAM;AAIlD,QAFA,EAAM,QAAQ,EAAM,SAAS,GAAG,EAAK,EACrC,EAAM,SAAS,GAAG,GAAG,GAAG,EAAE,EACnB"}
|
package/dist/index37.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import e from "./index36.js";
|
|
2
|
+
//#region ../../node_modules/date-fns/startOfISOWeek.js
|
|
3
|
+
function t(t, n) {
|
|
4
|
+
return e(t, {
|
|
5
|
+
...n,
|
|
6
|
+
weekStartsOn: 1
|
|
7
|
+
});
|
|
7
8
|
}
|
|
8
9
|
//#endregion
|
|
9
|
-
export {
|
|
10
|
+
export { t as default };
|
|
10
11
|
|
|
11
12
|
//# sourceMappingURL=index37.js.map
|
package/dist/index37.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index37.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index37.js","names":[],"sources":["../../../node_modules/date-fns/startOfISOWeek.js"],"sourcesContent":["import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n"],"x_google_ignoreList":[0],"mappings":";;AA8BA,SAAgB,EAAe,GAAM,GAAS;AAC5C,QAAO,EAAY,GAAM;EAAE,GAAG;EAAS,cAAc;EAAG,CAAC"}
|
package/dist/index38.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import e from "./index31.js";
|
|
2
|
+
import t from "./index32.js";
|
|
3
|
+
import n from "./index37.js";
|
|
4
|
+
//#region ../../node_modules/date-fns/getISOWeekYear.js
|
|
5
|
+
function r(r, i) {
|
|
6
|
+
let a = t(r, i?.in), o = a.getFullYear(), s = e(a, 0);
|
|
7
|
+
s.setFullYear(o + 1, 0, 4), s.setHours(0, 0, 0, 0);
|
|
8
|
+
let c = n(s), l = e(a, 0);
|
|
9
|
+
l.setFullYear(o, 0, 4), l.setHours(0, 0, 0, 0);
|
|
10
|
+
let u = n(l);
|
|
11
|
+
return a.getTime() >= c.getTime() ? o + 1 : a.getTime() >= u.getTime() ? o : o - 1;
|
|
8
12
|
}
|
|
9
13
|
//#endregion
|
|
10
|
-
export {
|
|
14
|
+
export { r as default };
|
|
11
15
|
|
|
12
16
|
//# sourceMappingURL=index38.js.map
|
package/dist/index38.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index38.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index38.js","names":[],"sources":["../../../node_modules/date-fns/getISOWeekYear.js"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n"],"x_google_ignoreList":[0],"mappings":";;;;AA4BA,SAAgB,EAAe,GAAM,GAAS;CAC5C,IAAM,IAAQ,EAAO,GAAM,GAAS,GAAG,EACjC,IAAO,EAAM,aAAa,EAE1B,IAA4B,EAAc,GAAO,EAAE;AAEzD,CADA,EAA0B,YAAY,IAAO,GAAG,GAAG,EAAE,EACrD,EAA0B,SAAS,GAAG,GAAG,GAAG,EAAE;CAC9C,IAAM,IAAkB,EAAe,EAA0B,EAE3D,IAA4B,EAAc,GAAO,EAAE;AAEzD,CADA,EAA0B,YAAY,GAAM,GAAG,EAAE,EACjD,EAA0B,SAAS,GAAG,GAAG,GAAG,EAAE;CAC9C,IAAM,IAAkB,EAAe,EAA0B;AAO/D,QALE,EAAM,SAAS,IAAI,EAAgB,SAAS,GACvC,IAAO,IACL,EAAM,SAAS,IAAI,EAAgB,SAAS,GAC9C,IAEA,IAAO"}
|
package/dist/index39.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import e from "./index32.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
let a = t(r, i?.in), o = a.getFullYear(), s = e(a, 0);
|
|
7
|
-
s.setFullYear(o + 1, 0, 4), s.setHours(0, 0, 0, 0);
|
|
8
|
-
let c = n(s), l = e(a, 0);
|
|
9
|
-
l.setFullYear(o, 0, 4), l.setHours(0, 0, 0, 0);
|
|
10
|
-
let u = n(l);
|
|
11
|
-
return a.getTime() >= c.getTime() ? o + 1 : a.getTime() >= u.getTime() ? o : o - 1;
|
|
2
|
+
//#region ../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
|
|
3
|
+
function t(t) {
|
|
4
|
+
let n = e(t), r = new Date(Date.UTC(n.getFullYear(), n.getMonth(), n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds(), n.getMilliseconds()));
|
|
5
|
+
return r.setUTCFullYear(n.getFullYear()), t - +r;
|
|
12
6
|
}
|
|
13
7
|
//#endregion
|
|
14
|
-
export {
|
|
8
|
+
export { t as getTimezoneOffsetInMilliseconds };
|
|
15
9
|
|
|
16
10
|
//# sourceMappingURL=index39.js.map
|
package/dist/index39.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index39.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index39.js","names":[],"sources":["../../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js"],"sourcesContent":["import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n"],"x_google_ignoreList":[0],"mappings":";;AAaA,SAAgB,EAAgC,GAAM;CACpD,IAAM,IAAQ,EAAO,EAAK,EACpB,IAAU,IAAI,KAClB,KAAK,IACH,EAAM,aAAa,EACnB,EAAM,UAAU,EAChB,EAAM,SAAS,EACf,EAAM,UAAU,EAChB,EAAM,YAAY,EAClB,EAAM,YAAY,EAClB,EAAM,iBAAiB,CACxB,CACF;AAED,QADA,EAAQ,eAAe,EAAM,aAAa,CAAC,EACnC,IAAO,CAAC"}
|
package/dist/index40.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
//#region ../../node_modules/date-fns/_lib/
|
|
3
|
-
function t(t) {
|
|
4
|
-
let
|
|
5
|
-
return
|
|
1
|
+
import e from "./index31.js";
|
|
2
|
+
//#region ../../node_modules/date-fns/_lib/normalizeDates.js
|
|
3
|
+
function t(t, ...n) {
|
|
4
|
+
let r = e.bind(null, t || n.find((e) => typeof e == "object"));
|
|
5
|
+
return n.map(r);
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
|
-
export { t as
|
|
8
|
+
export { t as normalizeDates };
|
|
9
9
|
|
|
10
10
|
//# sourceMappingURL=index40.js.map
|
package/dist/index40.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index40.js","names":[],"sources":["../../../node_modules/date-fns/_lib/
|
|
1
|
+
{"version":3,"file":"index40.js","names":[],"sources":["../../../node_modules/date-fns/_lib/normalizeDates.js"],"sourcesContent":["import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n"],"x_google_ignoreList":[0],"mappings":";;AAEA,SAAgB,EAAe,GAAS,GAAG,GAAO;CAChD,IAAM,IAAY,EAAc,KAC9B,MACA,KAAW,EAAM,MAAM,MAAS,OAAO,KAAS,SAAS,CAC1D;AACD,QAAO,EAAM,IAAI,EAAU"}
|
package/dist/index41.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import e from "./index32.js";
|
|
2
|
-
//#region ../../node_modules/date-fns/
|
|
3
|
-
function t(t,
|
|
4
|
-
let r = e
|
|
5
|
-
return
|
|
2
|
+
//#region ../../node_modules/date-fns/startOfDay.js
|
|
3
|
+
function t(t, n) {
|
|
4
|
+
let r = e(t, n?.in);
|
|
5
|
+
return r.setHours(0, 0, 0, 0), r;
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
|
-
export { t as
|
|
8
|
+
export { t as default };
|
|
9
9
|
|
|
10
10
|
//# sourceMappingURL=index41.js.map
|
package/dist/index41.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index41.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index41.js","names":[],"sources":["../../../node_modules/date-fns/startOfDay.js"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n"],"x_google_ignoreList":[0],"mappings":";;AA4BA,SAAgB,EAAW,GAAM,GAAS;CACxC,IAAM,IAAQ,EAAO,GAAM,GAAS,GAAG;AAEvC,QADA,EAAM,SAAS,GAAG,GAAG,GAAG,EAAE,EACnB"}
|
package/dist/index42.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { millisecondsInDay as e } from "./index30.js";
|
|
2
|
+
import { getTimezoneOffsetInMilliseconds as t } from "./index39.js";
|
|
3
|
+
import { normalizeDates as n } from "./index40.js";
|
|
4
|
+
import r from "./index41.js";
|
|
5
|
+
//#region ../../node_modules/date-fns/differenceInCalendarDays.js
|
|
6
|
+
function i(i, a, o) {
|
|
7
|
+
let [s, c] = n(o?.in, i, a), l = r(s), u = r(c), d = +l - t(l), f = +u - t(u);
|
|
8
|
+
return Math.round((d - f) / e);
|
|
6
9
|
}
|
|
7
10
|
//#endregion
|
|
8
|
-
export {
|
|
11
|
+
export { i as default };
|
|
9
12
|
|
|
10
13
|
//# sourceMappingURL=index42.js.map
|
package/dist/index42.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index42.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index42.js","names":[],"sources":["../../../node_modules/date-fns/differenceInCalendarDays.js"],"sourcesContent":["import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n"],"x_google_ignoreList":[0],"mappings":";;;;;AAwCA,SAAgB,EAAyB,GAAW,GAAa,GAAS;CACxE,IAAM,CAAC,GAAY,KAAgB,EACjC,GAAS,IACT,GACA,EACD,EAEK,IAAkB,EAAW,EAAW,EACxC,IAAoB,EAAW,EAAa,EAE5C,IACJ,CAAC,IAAkB,EAAgC,EAAgB,EAC/D,IACJ,CAAC,IAAoB,EAAgC,EAAkB;AAKzE,QAAO,KAAK,OAAO,IAAiB,KAAoB,EAAkB"}
|
package/dist/index43.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return Math.round((d - f) / e);
|
|
1
|
+
import e from "./index31.js";
|
|
2
|
+
import t from "./index37.js";
|
|
3
|
+
import n from "./index38.js";
|
|
4
|
+
//#region ../../node_modules/date-fns/startOfISOWeekYear.js
|
|
5
|
+
function r(r, i) {
|
|
6
|
+
let a = n(r, i), o = e(i?.in || r, 0);
|
|
7
|
+
return o.setFullYear(a, 0, 4), o.setHours(0, 0, 0, 0), t(o);
|
|
9
8
|
}
|
|
10
9
|
//#endregion
|
|
11
|
-
export {
|
|
10
|
+
export { r as default };
|
|
12
11
|
|
|
13
12
|
//# sourceMappingURL=index43.js.map
|
package/dist/index43.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index43.js","names":[],"sources":["../../../node_modules/date-fns/
|
|
1
|
+
{"version":3,"file":"index43.js","names":[],"sources":["../../../node_modules/date-fns/startOfISOWeekYear.js"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n"],"x_google_ignoreList":[0],"mappings":";;;;AAiCA,SAAgB,EAAmB,GAAM,GAAS;CAChD,IAAM,IAAO,EAAe,GAAM,EAAQ,EACpC,IAAkB,EAAc,GAAS,MAAM,GAAM,EAAE;AAG7D,QAFA,EAAgB,YAAY,GAAM,GAAG,EAAE,EACvC,EAAgB,SAAS,GAAG,GAAG,GAAG,EAAE,EAC7B,EAAe,EAAgB"}
|
package/dist/index44.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import e from "./
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function r(r, i) {
|
|
6
|
-
let a = n(r, i), o = e(i?.in || r, 0);
|
|
7
|
-
return o.setFullYear(a, 0, 4), o.setHours(0, 0, 0, 0), t(o);
|
|
1
|
+
import e from "./index33.js";
|
|
2
|
+
//#region ../../node_modules/date-fns/addWeeks.js
|
|
3
|
+
function t(t, n, r) {
|
|
4
|
+
return e(t, n * 7, r);
|
|
8
5
|
}
|
|
9
6
|
//#endregion
|
|
10
|
-
export {
|
|
7
|
+
export { t as default };
|
|
11
8
|
|
|
12
9
|
//# sourceMappingURL=index44.js.map
|