@rpcbase/ui 0.202.0 → 0.203.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 +25 -73
- package/dist/index10.js +18 -28
- package/dist/index10.js.map +1 -1
- package/dist/index100.js +8 -8
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +8 -7
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +14 -7
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +9 -9
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +14 -148
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +21 -43
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +27 -7
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +8 -10
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +8 -16
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +9 -16
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +1674 -41
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +9 -10
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +8 -34
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +8 -13
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +11 -13
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +10 -11
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +37 -16
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +10 -104
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +9 -23
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +10 -56
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +12 -75
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +10 -470
- package/dist/index12.js.map +1 -1
- package/dist/index120.js +8 -12
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +9 -23
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +8 -19
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +8 -26
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +9 -9
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +8 -8
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +9 -27
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +11 -38
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +60 -19
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +9 -9
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +22 -140
- package/dist/index13.js.map +1 -1
- package/dist/index130.js +23 -8
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +22 -7
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +37 -7
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +8 -7
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +11 -6
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +17 -9
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +14 -27
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +9 -10
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +8 -9
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +8 -8
- package/dist/index139.js.map +1 -1
- package/dist/index14.js +194 -78
- package/dist/index14.js.map +1 -1
- package/dist/index140.js +8 -6
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +8 -6
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +7 -7
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +9 -6
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +24 -8
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +11 -6
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +10 -6
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +9 -6
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +9 -8
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +7 -10
- package/dist/index149.js.map +1 -1
- package/dist/index15.js +33 -874
- package/dist/index15.js.map +1 -1
- package/dist/index150.js +7 -8
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +9 -50
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +8 -50
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +9 -209
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +8 -25
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +7 -27
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +8 -403
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +32 -609
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +35 -19
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +18 -8
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +57 -23
- package/dist/index16.js.map +1 -1
- package/dist/index160.js +14 -8
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +12 -61
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +19 -69
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +89 -9
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +50 -7
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +20 -10
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +11 -20
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +13 -8
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +8 -8
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +25 -16
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +9 -20
- package/dist/index17.js.map +1 -1
- package/dist/index170.js +10 -13
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +9 -17
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +9 -17
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +7 -8
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +9 -9
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +70 -10
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +20 -9
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +15 -12
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +12 -8
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +23 -8
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +27 -460
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +20 -12
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +58 -8
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +13 -8
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +9 -7
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +29 -14
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +29 -13
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +16 -13
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +16 -14
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +9 -14
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +26 -13
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +65 -666
- package/dist/index19.js.map +1 -1
- package/dist/index190.js +388 -10
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +499 -10
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +134 -9
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +55 -9
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +80 -10
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +902 -9
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +22 -58
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +452 -12
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +7 -22
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +60 -32
- package/dist/index199.js.map +1 -1
- package/dist/index2.js +10 -8
- package/dist/index20.js +43 -469
- package/dist/index20.js.map +1 -1
- package/dist/index200.js +63 -15
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +11 -28
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +19 -8
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +148 -20
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +7 -11
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +13 -13
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +107 -13
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +359 -23
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +99 -14
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +329 -12
- package/dist/index209.js.map +1 -1
- package/dist/index21.js +12 -266
- package/dist/index21.js.map +1 -1
- package/dist/index210.js +213 -12
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +22 -8
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +30 -8
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +189 -18
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +21 -13
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +46 -21
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +12 -18
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +28 -16
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +47 -8
- package/dist/index218.js.map +1 -1
- package/dist/index219.js +19 -70
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +16 -8
- package/dist/index22.js.map +1 -1
- package/dist/index220.js +6 -5
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +8 -367
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +24 -265
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +27 -63
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +68 -47
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +17 -172
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +7 -113
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +53 -27
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +8 -10
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +28 -6
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +109 -30
- package/dist/index23.js.map +1 -1
- package/dist/index230.js +16 -8
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +12 -7
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +3 -470
- package/dist/index233.js +28 -188
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +68 -107
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +3 -266
- package/dist/index236.js +14 -12
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +53 -45
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +117 -7
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +9 -28
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +3 -269
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +15 -31
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +689 -7
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +256 -71
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +704 -184
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +7433 -49
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +9 -7
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +16 -22
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +8 -15
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +462 -16
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +41 -158
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +11 -179
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +21 -32
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +30 -12
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +8 -52
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +62 -15
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +10 -47
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +14 -97
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +6 -90
- package/dist/index256.js.map +1 -1
- package/dist/index257.js +20 -109
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +28 -55
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +47 -15
- package/dist/index259.js.map +1 -1
- package/dist/index26.js +22 -16
- package/dist/index26.js.map +1 -1
- package/dist/index260.js +16 -40
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +28 -11
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +20 -119
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +38 -20
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +8 -18
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +12 -6
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +11 -39
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +12 -23
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +13 -12
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +10 -11
- package/dist/index269.js.map +1 -1
- package/dist/index27.js +61 -2924
- package/dist/index27.js.map +1 -1
- package/dist/index270.js +76 -22
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +174 -31
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +118 -20
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +18 -8
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +83 -5
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +49 -26
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +15 -114
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +19 -18
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +98 -523
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +60 -131
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +58 -5
- package/dist/index28.js.map +1 -1
- package/dist/index280.js +109 -134
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +75 -9
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +117 -9
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +59 -7
- package/dist/index283.js.map +1 -1
- package/dist/index284.js +46 -18
- package/dist/index284.js.map +1 -1
- package/dist/index285.js +146 -12
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +143 -9
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +258 -8
- package/dist/index287.js.map +1 -1
- package/dist/index288.js +241 -546
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +302 -50
- package/dist/index289.js.map +1 -1
- package/dist/index29.js +1 -40
- package/dist/index290.js +9 -21
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +9 -9
- package/dist/index291.js.map +1 -1
- package/dist/index292.js +10 -11
- package/dist/index292.js.map +1 -1
- package/dist/index293.js +9 -10
- package/dist/index293.js.map +1 -1
- package/dist/index294.js +9 -11
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +24 -15
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +13 -12
- package/dist/index296.js.map +1 -1
- package/dist/index297.js +130 -17
- package/dist/index297.js.map +1 -1
- package/dist/index298.js +167 -23
- package/dist/index298.js.map +1 -1
- package/dist/index299.js +69 -65
- package/dist/index299.js.map +1 -1
- package/dist/index3.js +6 -5
- package/dist/index3.js.map +1 -1
- package/dist/index30.js +6 -6
- package/dist/index300.js +113 -72
- package/dist/index300.js.map +1 -1
- package/dist/index301.js +495 -12
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +65 -16
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +7 -69
- package/dist/index303.js.map +1 -1
- package/dist/index304.js +30 -7
- package/dist/index304.js.map +1 -1
- package/dist/index305.js +68 -58
- package/dist/index305.js.map +1 -1
- package/dist/index306.js +155 -70
- package/dist/index306.js.map +1 -1
- package/dist/index307.js +563 -32
- package/dist/index307.js.map +1 -1
- package/dist/index308.js +213 -11
- package/dist/index308.js.map +1 -1
- package/dist/index309.js +335 -156
- package/dist/index309.js.map +1 -1
- package/dist/index31.js +8 -128
- package/dist/index31.js.map +1 -1
- package/dist/index310.js +271 -110
- package/dist/index310.js.map +1 -1
- package/dist/index32.js +8 -234
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +8 -26
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +11 -54
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +13 -24
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +9 -133
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +11 -225
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +12 -94
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +15 -121
- package/dist/index39.js.map +1 -1
- package/dist/index4.js +24 -28
- package/dist/index4.js.map +1 -1
- package/dist/index40.js +9 -8
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +10 -847
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +10 -60
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +12 -10
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +12 -5
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +8 -14
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +8 -21
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +14 -10
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +15 -5
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +10 -26
- package/dist/index49.js.map +1 -1
- package/dist/index5.js +34 -48
- package/dist/index5.js.map +1 -1
- package/dist/index50.js +7 -236
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +9 -9
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +9 -36
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +9 -29
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +12 -10
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +16 -14
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +10 -5
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +10 -5
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +10 -5
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +17 -5
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +42 -227
- package/dist/index6.js.map +1 -1
- package/dist/index60.js +11 -208
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +11 -6
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +70 -50
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +10 -53
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +33 -10
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +13 -18
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +19 -137
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +203 -13
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +22 -218
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +20 -16
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +225 -37
- package/dist/index7.js.map +1 -1
- package/dist/index70.js +125 -49
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +21 -52
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +12 -7
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +12 -8
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +17 -31
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +13 -53
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +13 -12
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +8 -55
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +44 -7
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +383 -7
- package/dist/index79.js.map +1 -1
- package/dist/index8.js +36 -32
- package/dist/index8.js.map +1 -1
- package/dist/index80.js +41 -18
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +25 -9
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +60 -10
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +10 -19
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +8 -7
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +8 -7
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +8 -8
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +8 -8
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +9 -7
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +9 -7
- package/dist/index89.js.map +1 -1
- package/dist/index9.js +33 -181
- package/dist/index9.js.map +1 -1
- package/dist/index90.js +13 -9
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +10 -27
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +9 -9
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +8 -7
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +10 -9
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +50 -8
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +108 -7
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +13 -8
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +9 -7
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +9 -11
- package/dist/index99.js.map +1 -1
- package/package.json +6 -6
- package/dist/index.js.map +0 -1
- package/dist/index2.js.map +0 -1
- package/dist/index232.js.map +0 -1
- package/dist/index235.js.map +0 -1
- package/dist/index29.js.map +0 -1
- package/dist/index30.js.map +0 -1
- package/dist/index311.js +0 -7
- package/dist/index311.js.map +0 -1
- package/dist/index312.js +0 -26
- package/dist/index312.js.map +0 -1
- package/dist/index313.js +0 -19
- package/dist/index313.js.map +0 -1
- package/dist/index314.js +0 -32
- package/dist/index314.js.map +0 -1
- package/dist/index315.js +0 -16
- package/dist/index315.js.map +0 -1
- package/dist/index316.js +0 -10
- package/dist/index316.js.map +0 -1
- package/dist/index317.js +0 -26
- package/dist/index317.js.map +0 -1
- package/dist/index318.js +0 -16
- package/dist/index318.js.map +0 -1
- package/dist/index319.js +0 -31
- package/dist/index319.js.map +0 -1
- package/dist/index320.js +0 -8
- package/dist/index320.js.map +0 -1
package/dist/index31.js
CHANGED
|
@@ -1,128 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
layers: /* @__PURE__ */ new Set(),
|
|
10
|
-
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
11
|
-
branches: /* @__PURE__ */ new Set()
|
|
12
|
-
}), M = s.forwardRef(
|
|
13
|
-
(n, e) => {
|
|
14
|
-
const {
|
|
15
|
-
disableOutsidePointerEvents: r = !1,
|
|
16
|
-
onEscapeKeyDown: a,
|
|
17
|
-
onPointerDownOutside: i,
|
|
18
|
-
onFocusOutside: c,
|
|
19
|
-
onInteractOutside: f,
|
|
20
|
-
onDismiss: d,
|
|
21
|
-
...E
|
|
22
|
-
} = n, o = s.useContext(T), [u, F] = s.useState(null), l = u?.ownerDocument ?? globalThis?.document, [, I] = s.useState({}), S = R(e, (t) => F(t)), y = Array.from(o.layers), [W] = [...o.layersWithOutsidePointerEventsDisabled].slice(-1), A = y.indexOf(W), b = u ? y.indexOf(u) : -1, N = o.layersWithOutsidePointerEventsDisabled.size > 0, D = b >= A, _ = Y((t) => {
|
|
23
|
-
const v = t.target, P = [...o.branches].some((m) => m.contains(v));
|
|
24
|
-
!D || P || (i?.(t), f?.(t), t.defaultPrevented || d?.());
|
|
25
|
-
}, l), O = q((t) => {
|
|
26
|
-
const v = t.target;
|
|
27
|
-
[...o.branches].some((m) => m.contains(v)) || (c?.(t), f?.(t), t.defaultPrevented || d?.());
|
|
28
|
-
}, l);
|
|
29
|
-
return U((t) => {
|
|
30
|
-
b === o.layers.size - 1 && (a?.(t), !t.defaultPrevented && d && (t.preventDefault(), d()));
|
|
31
|
-
}, l), s.useEffect(() => {
|
|
32
|
-
if (u)
|
|
33
|
-
return r && (o.layersWithOutsidePointerEventsDisabled.size === 0 && (C = l.body.style.pointerEvents, l.body.style.pointerEvents = "none"), o.layersWithOutsidePointerEventsDisabled.add(u)), o.layers.add(u), L(), () => {
|
|
34
|
-
r && o.layersWithOutsidePointerEventsDisabled.size === 1 && (l.body.style.pointerEvents = C);
|
|
35
|
-
};
|
|
36
|
-
}, [u, l, r, o]), s.useEffect(() => () => {
|
|
37
|
-
u && (o.layers.delete(u), o.layersWithOutsidePointerEventsDisabled.delete(u), L());
|
|
38
|
-
}, [u, o]), s.useEffect(() => {
|
|
39
|
-
const t = () => I({});
|
|
40
|
-
return document.addEventListener(p, t), () => document.removeEventListener(p, t);
|
|
41
|
-
}, []), /* @__PURE__ */ x.jsx(
|
|
42
|
-
w.div,
|
|
43
|
-
{
|
|
44
|
-
...E,
|
|
45
|
-
ref: S,
|
|
46
|
-
style: {
|
|
47
|
-
pointerEvents: N ? D ? "auto" : "none" : void 0,
|
|
48
|
-
...n.style
|
|
49
|
-
},
|
|
50
|
-
onFocusCapture: h(n.onFocusCapture, O.onFocusCapture),
|
|
51
|
-
onBlurCapture: h(n.onBlurCapture, O.onBlurCapture),
|
|
52
|
-
onPointerDownCapture: h(
|
|
53
|
-
n.onPointerDownCapture,
|
|
54
|
-
_.onPointerDownCapture
|
|
55
|
-
)
|
|
56
|
-
}
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
M.displayName = j;
|
|
61
|
-
var K = "DismissableLayerBranch", X = s.forwardRef((n, e) => {
|
|
62
|
-
const r = s.useContext(T), a = s.useRef(null), i = R(e, a);
|
|
63
|
-
return s.useEffect(() => {
|
|
64
|
-
const c = a.current;
|
|
65
|
-
if (c)
|
|
66
|
-
return r.branches.add(c), () => {
|
|
67
|
-
r.branches.delete(c);
|
|
68
|
-
};
|
|
69
|
-
}, [r.branches]), /* @__PURE__ */ x.jsx(w.div, { ...n, ref: i });
|
|
70
|
-
});
|
|
71
|
-
X.displayName = K;
|
|
72
|
-
function Y(n, e = globalThis?.document) {
|
|
73
|
-
const r = g(n), a = s.useRef(!1), i = s.useRef(() => {
|
|
74
|
-
});
|
|
75
|
-
return s.useEffect(() => {
|
|
76
|
-
const c = (d) => {
|
|
77
|
-
if (d.target && !a.current) {
|
|
78
|
-
let E = function() {
|
|
79
|
-
B(
|
|
80
|
-
z,
|
|
81
|
-
r,
|
|
82
|
-
o,
|
|
83
|
-
{ discrete: !0 }
|
|
84
|
-
);
|
|
85
|
-
};
|
|
86
|
-
const o = { originalEvent: d };
|
|
87
|
-
d.pointerType === "touch" ? (e.removeEventListener("click", i.current), i.current = E, e.addEventListener("click", i.current, { once: !0 })) : E();
|
|
88
|
-
} else
|
|
89
|
-
e.removeEventListener("click", i.current);
|
|
90
|
-
a.current = !1;
|
|
91
|
-
}, f = window.setTimeout(() => {
|
|
92
|
-
e.addEventListener("pointerdown", c);
|
|
93
|
-
}, 0);
|
|
94
|
-
return () => {
|
|
95
|
-
window.clearTimeout(f), e.removeEventListener("pointerdown", c), e.removeEventListener("click", i.current);
|
|
96
|
-
};
|
|
97
|
-
}, [e, r]), {
|
|
98
|
-
// ensures we check React component tree (not just DOM tree)
|
|
99
|
-
onPointerDownCapture: () => a.current = !0
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
function q(n, e = globalThis?.document) {
|
|
103
|
-
const r = g(n), a = s.useRef(!1);
|
|
104
|
-
return s.useEffect(() => {
|
|
105
|
-
const i = (c) => {
|
|
106
|
-
c.target && !a.current && B(H, r, { originalEvent: c }, {
|
|
107
|
-
discrete: !1
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
return e.addEventListener("focusin", i), () => e.removeEventListener("focusin", i);
|
|
111
|
-
}, [e, r]), {
|
|
112
|
-
onFocusCapture: () => a.current = !0,
|
|
113
|
-
onBlurCapture: () => a.current = !1
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
function L() {
|
|
117
|
-
const n = new CustomEvent(p);
|
|
118
|
-
document.dispatchEvent(n);
|
|
119
|
-
}
|
|
120
|
-
function B(n, e, r, { discrete: a }) {
|
|
121
|
-
const i = r.originalEvent.target, c = new CustomEvent(n, { bubbles: !1, cancelable: !0, detail: r });
|
|
122
|
-
e && i.addEventListener(n, e, { once: !0 }), a ? k(i, c) : i.dispatchEvent(c);
|
|
123
|
-
}
|
|
124
|
-
export {
|
|
125
|
-
M as DismissableLayer,
|
|
126
|
-
X as DismissableLayerBranch
|
|
127
|
-
};
|
|
128
|
-
//# sourceMappingURL=index31.js.map
|
|
1
|
+
//#region ../../node_modules/date-fns/constants.js
|
|
2
|
+
var e = 365.2425, t = 6048e5, n = 864e5, r = 3600 * 24;
|
|
3
|
+
r * 7, r * e / 12 * 3;
|
|
4
|
+
var i = Symbol.for("constructDateFrom");
|
|
5
|
+
//#endregion
|
|
6
|
+
export { i as constructFromSymbol, n as millisecondsInDay, t as millisecondsInWeek };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index31.js.map
|
package/dist/index31.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index31.js","sources":["../../../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","React","DismissableLayer","props","forwardedRef","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","context","node","setNode","ownerDocument","force","composedRefs","useComposedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","index","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","event","target","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","useEscapeKeydown","dispatchUpdate","handleUpdate","jsx","Primitive","composeEventHandlers","BRANCH_NAME","DismissableLayerBranch","ref","handlePointerDownOutside","useCallbackRef","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","dispatchDiscreteCustomEvent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index31.js","names":[],"sources":["../../../node_modules/date-fns/constants.js"],"sourcesContent":["/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n"],"x_google_ignoreList":[0],"mappings":";AAqCA,IAAa,IAAa,UAuCb,IAAqB,QAOrB,IAAoB,OA2FpB,IAdgB,OAce;AAOf,IAAe,GAOf,IAAe,IAOE,KAOG;AAajD,IAAa,IAAsB,OAAO,IAAI,oBAAoB"}
|
package/dist/index310.js
CHANGED
|
@@ -1,111 +1,272 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
am: /^a/i,
|
|
62
|
-
pm: /^p/i,
|
|
63
|
-
midnight: /^mi/i,
|
|
64
|
-
noon: /^no/i,
|
|
65
|
-
morning: /morning/i,
|
|
66
|
-
afternoon: /afternoon/i,
|
|
67
|
-
evening: /evening/i,
|
|
68
|
-
night: /night/i
|
|
69
|
-
}
|
|
70
|
-
}, l = {
|
|
71
|
-
ordinalNumber: i({
|
|
72
|
-
matchPattern: n,
|
|
73
|
-
parsePattern: e,
|
|
74
|
-
valueCallback: (t) => parseInt(t, 10)
|
|
75
|
-
}),
|
|
76
|
-
era: a({
|
|
77
|
-
matchPatterns: r,
|
|
78
|
-
defaultMatchWidth: "wide",
|
|
79
|
-
parsePatterns: s,
|
|
80
|
-
defaultParseWidth: "any"
|
|
81
|
-
}),
|
|
82
|
-
quarter: a({
|
|
83
|
-
matchPatterns: o,
|
|
84
|
-
defaultMatchWidth: "wide",
|
|
85
|
-
parsePatterns: d,
|
|
86
|
-
defaultParseWidth: "any",
|
|
87
|
-
valueCallback: (t) => t + 1
|
|
88
|
-
}),
|
|
89
|
-
month: a({
|
|
90
|
-
matchPatterns: m,
|
|
91
|
-
defaultMatchWidth: "wide",
|
|
92
|
-
parsePatterns: h,
|
|
93
|
-
defaultParseWidth: "any"
|
|
94
|
-
}),
|
|
95
|
-
day: a({
|
|
96
|
-
matchPatterns: c,
|
|
97
|
-
defaultMatchWidth: "wide",
|
|
98
|
-
parsePatterns: u,
|
|
99
|
-
defaultParseWidth: "any"
|
|
100
|
-
}),
|
|
101
|
-
dayPeriod: a({
|
|
102
|
-
matchPatterns: P,
|
|
103
|
-
defaultMatchWidth: "any",
|
|
104
|
-
parsePatterns: y,
|
|
105
|
-
defaultParseWidth: "any"
|
|
106
|
-
})
|
|
1
|
+
import { cn as e } from "./index12.js";
|
|
2
|
+
import { useEffect as t, useMemo as n, useState as r } from "react";
|
|
3
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
|
+
import { Loader2 as o } from "lucide-react";
|
|
5
|
+
//#region src/components/Notifications/NotificationsSettings.tsx
|
|
6
|
+
var s = [
|
|
7
|
+
{
|
|
8
|
+
value: "off",
|
|
9
|
+
label: "Off"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
value: "daily",
|
|
13
|
+
label: "Daily"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
value: "weekly",
|
|
17
|
+
label: "Weekly"
|
|
18
|
+
}
|
|
19
|
+
], c = (e) => {
|
|
20
|
+
let t = e?.digestFrequency;
|
|
21
|
+
return {
|
|
22
|
+
digestFrequency: t === "off" || t === "daily" || t === "weekly" ? t : "weekly",
|
|
23
|
+
topicPreferences: Array.isArray(e?.topicPreferences) ? e.topicPreferences.map((e) => ({
|
|
24
|
+
topic: typeof e.topic == "string" ? e.topic.trim() : "",
|
|
25
|
+
inApp: e.inApp === !0,
|
|
26
|
+
emailDigest: e.emailDigest === !0,
|
|
27
|
+
push: e.push === !0
|
|
28
|
+
})).filter((e) => e.topic.length > 0) : [],
|
|
29
|
+
...typeof e?.lastDigestSentAt == "string" ? { lastDigestSentAt: e.lastDigestSentAt } : {}
|
|
30
|
+
};
|
|
31
|
+
}, l = (e) => {
|
|
32
|
+
if (!Array.isArray(e)) return [];
|
|
33
|
+
let t = /* @__PURE__ */ new Set();
|
|
34
|
+
return e.map((e) => ({
|
|
35
|
+
topic: typeof e.topic == "string" ? e.topic.trim() : "",
|
|
36
|
+
title: typeof e.title == "string" ? e.title.trim() : "",
|
|
37
|
+
description: typeof e.description == "string" ? e.description.trim() : void 0
|
|
38
|
+
})).filter((e) => e.topic.length > 0).filter((e) => t.has(e.topic) ? !1 : (t.add(e.topic), !0));
|
|
39
|
+
}, u = (e, t) => {
|
|
40
|
+
let n = {
|
|
41
|
+
topic: "",
|
|
42
|
+
inApp: !0,
|
|
43
|
+
emailDigest: !0,
|
|
44
|
+
push: !1
|
|
45
|
+
}, r = new Map(e.topicPreferences.map((e) => [e.topic, e]));
|
|
46
|
+
return {
|
|
47
|
+
...e,
|
|
48
|
+
topicPreferences: t.map((e) => {
|
|
49
|
+
let t = r.get(e.topic);
|
|
50
|
+
return t ? {
|
|
51
|
+
topic: e.topic,
|
|
52
|
+
inApp: t.inApp === !0,
|
|
53
|
+
emailDigest: t.emailDigest === !0,
|
|
54
|
+
push: t.push === !0
|
|
55
|
+
} : {
|
|
56
|
+
...n,
|
|
57
|
+
topic: e.topic
|
|
58
|
+
};
|
|
59
|
+
})
|
|
60
|
+
};
|
|
107
61
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
62
|
+
function d({ className: d, topics: f }) {
|
|
63
|
+
let [p, m] = r(!0), [h, g] = r(!1), [_, v] = r(null), [y, b] = r(() => c({
|
|
64
|
+
digestFrequency: "weekly",
|
|
65
|
+
topicPreferences: []
|
|
66
|
+
})), x = n(() => l(f), [f]), S = async () => {
|
|
67
|
+
m(!0), v(null);
|
|
68
|
+
try {
|
|
69
|
+
let e = await fetch("/api/rb/notifications/settings", {
|
|
70
|
+
method: "GET",
|
|
71
|
+
credentials: "include"
|
|
72
|
+
}), t = await e.json().catch(() => null);
|
|
73
|
+
if (!e.ok || !t?.ok) {
|
|
74
|
+
v(t?.error || "Unable to load notification settings.");
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
let n = c(t.settings);
|
|
78
|
+
b(x.length > 0 ? u(n, x) : n);
|
|
79
|
+
} catch {
|
|
80
|
+
v("Unable to load notification settings.");
|
|
81
|
+
} finally {
|
|
82
|
+
m(!1);
|
|
83
|
+
}
|
|
84
|
+
}, C = async (e) => {
|
|
85
|
+
g(!0), v(null);
|
|
86
|
+
try {
|
|
87
|
+
let t = await fetch("/api/rb/notifications/settings", {
|
|
88
|
+
method: "PUT",
|
|
89
|
+
headers: { "Content-Type": "application/json" },
|
|
90
|
+
credentials: "include",
|
|
91
|
+
body: JSON.stringify({
|
|
92
|
+
digestFrequency: e.digestFrequency,
|
|
93
|
+
topicPreferences: e.topicPreferences
|
|
94
|
+
})
|
|
95
|
+
}), n = await t.json().catch(() => null);
|
|
96
|
+
if (!t.ok || !n?.ok) {
|
|
97
|
+
v(n?.error || "Unable to save notification settings.");
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
let r = c(n.settings);
|
|
101
|
+
b(x.length > 0 ? u(r, x) : r);
|
|
102
|
+
} catch {
|
|
103
|
+
v("Unable to save notification settings.");
|
|
104
|
+
} finally {
|
|
105
|
+
g(!1);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
t(() => {
|
|
109
|
+
S();
|
|
110
|
+
}, []), t(() => {
|
|
111
|
+
x.length !== 0 && b((e) => u(e, x));
|
|
112
|
+
}, [x]);
|
|
113
|
+
let w = (e, t) => {
|
|
114
|
+
let n = y.topicPreferences.some((t) => t.topic === e) ? y.topicPreferences.map((n) => n.topic === e ? t(n) : n) : [...y.topicPreferences, t({
|
|
115
|
+
topic: e,
|
|
116
|
+
inApp: !0,
|
|
117
|
+
emailDigest: !0,
|
|
118
|
+
push: !1
|
|
119
|
+
})], r = c({
|
|
120
|
+
...y,
|
|
121
|
+
topicPreferences: n
|
|
122
|
+
});
|
|
123
|
+
b(r), C(r);
|
|
124
|
+
};
|
|
125
|
+
return p ? /* @__PURE__ */ i("div", {
|
|
126
|
+
className: e("flex items-center justify-center py-10 text-muted-foreground", d),
|
|
127
|
+
children: /* @__PURE__ */ i(o, { className: "h-4 w-4 animate-spin" })
|
|
128
|
+
}) : /* @__PURE__ */ a("div", {
|
|
129
|
+
className: e("space-y-4", d),
|
|
130
|
+
children: [/* @__PURE__ */ i("div", {
|
|
131
|
+
className: "rounded-md border bg-background p-4",
|
|
132
|
+
children: /* @__PURE__ */ a("div", {
|
|
133
|
+
className: "flex items-start justify-between gap-3",
|
|
134
|
+
children: [/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("div", {
|
|
135
|
+
className: "text-sm font-semibold",
|
|
136
|
+
children: "Email digest"
|
|
137
|
+
}), /* @__PURE__ */ i("div", {
|
|
138
|
+
className: "mt-1 text-xs text-muted-foreground",
|
|
139
|
+
children: "Choose how often we email you a summary."
|
|
140
|
+
})] }), /* @__PURE__ */ i("select", {
|
|
141
|
+
value: y.digestFrequency,
|
|
142
|
+
onChange: (e) => {
|
|
143
|
+
let t = e.target.value, n = c({
|
|
144
|
+
...y,
|
|
145
|
+
digestFrequency: t
|
|
146
|
+
});
|
|
147
|
+
b(n), C(n);
|
|
148
|
+
},
|
|
149
|
+
className: "h-9 rounded-md border bg-background px-2 text-sm",
|
|
150
|
+
children: s.map((e) => /* @__PURE__ */ i("option", {
|
|
151
|
+
value: e.value,
|
|
152
|
+
children: e.label
|
|
153
|
+
}, e.value))
|
|
154
|
+
})]
|
|
155
|
+
})
|
|
156
|
+
}), /* @__PURE__ */ a("div", {
|
|
157
|
+
className: "rounded-md border bg-background p-4",
|
|
158
|
+
children: [
|
|
159
|
+
/* @__PURE__ */ i("div", {
|
|
160
|
+
className: "flex items-start justify-between gap-3",
|
|
161
|
+
children: /* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("div", {
|
|
162
|
+
className: "text-sm font-semibold",
|
|
163
|
+
children: "Topics"
|
|
164
|
+
}), /* @__PURE__ */ i("div", {
|
|
165
|
+
className: "mt-1 text-xs text-muted-foreground",
|
|
166
|
+
children: "Choose where you receive each topic."
|
|
167
|
+
})] })
|
|
168
|
+
}),
|
|
169
|
+
x.length === 0 ? /* @__PURE__ */ i("div", {
|
|
170
|
+
className: "mt-4 text-sm text-muted-foreground",
|
|
171
|
+
children: "No topics configured."
|
|
172
|
+
}) : /* @__PURE__ */ i("div", {
|
|
173
|
+
className: "mt-4 overflow-x-auto",
|
|
174
|
+
children: /* @__PURE__ */ a("table", {
|
|
175
|
+
className: "w-full text-sm",
|
|
176
|
+
children: [/* @__PURE__ */ i("thead", { children: /* @__PURE__ */ a("tr", {
|
|
177
|
+
className: "text-left text-xs text-muted-foreground",
|
|
178
|
+
children: [
|
|
179
|
+
/* @__PURE__ */ i("th", {
|
|
180
|
+
className: "py-2 pr-4 font-medium",
|
|
181
|
+
children: "Topic"
|
|
182
|
+
}),
|
|
183
|
+
/* @__PURE__ */ i("th", {
|
|
184
|
+
className: "py-2 pr-4 font-medium",
|
|
185
|
+
children: "In-app"
|
|
186
|
+
}),
|
|
187
|
+
/* @__PURE__ */ i("th", {
|
|
188
|
+
className: "py-2 pr-4 font-medium",
|
|
189
|
+
children: "Email digest"
|
|
190
|
+
}),
|
|
191
|
+
/* @__PURE__ */ i("th", {
|
|
192
|
+
className: "py-2 pr-4 font-medium",
|
|
193
|
+
children: "Push"
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
}) }), /* @__PURE__ */ i("tbody", { children: y.topicPreferences.map((e) => {
|
|
197
|
+
let t = x.find((t) => t.topic === e.topic);
|
|
198
|
+
return /* @__PURE__ */ a("tr", {
|
|
199
|
+
className: "border-t align-top",
|
|
200
|
+
children: [
|
|
201
|
+
/* @__PURE__ */ i("td", {
|
|
202
|
+
className: "py-3 pr-4",
|
|
203
|
+
children: /* @__PURE__ */ a("div", {
|
|
204
|
+
className: "flex flex-col gap-1",
|
|
205
|
+
children: [
|
|
206
|
+
/* @__PURE__ */ i("span", {
|
|
207
|
+
className: "font-medium",
|
|
208
|
+
children: t?.title || e.topic
|
|
209
|
+
}),
|
|
210
|
+
t?.description ? /* @__PURE__ */ i("span", {
|
|
211
|
+
className: "text-xs text-muted-foreground",
|
|
212
|
+
children: t.description
|
|
213
|
+
}) : null,
|
|
214
|
+
/* @__PURE__ */ i("span", {
|
|
215
|
+
className: "text-[11px] text-muted-foreground",
|
|
216
|
+
children: e.topic
|
|
217
|
+
})
|
|
218
|
+
]
|
|
219
|
+
})
|
|
220
|
+
}),
|
|
221
|
+
/* @__PURE__ */ i("td", {
|
|
222
|
+
className: "py-3 pr-4",
|
|
223
|
+
children: /* @__PURE__ */ i("input", {
|
|
224
|
+
type: "checkbox",
|
|
225
|
+
checked: e.inApp,
|
|
226
|
+
onChange: (t) => w(e.topic, (e) => ({
|
|
227
|
+
...e,
|
|
228
|
+
inApp: t.target.checked
|
|
229
|
+
}))
|
|
230
|
+
})
|
|
231
|
+
}),
|
|
232
|
+
/* @__PURE__ */ i("td", {
|
|
233
|
+
className: "py-3 pr-4",
|
|
234
|
+
children: /* @__PURE__ */ i("input", {
|
|
235
|
+
type: "checkbox",
|
|
236
|
+
checked: e.emailDigest,
|
|
237
|
+
onChange: (t) => w(e.topic, (e) => ({
|
|
238
|
+
...e,
|
|
239
|
+
emailDigest: t.target.checked
|
|
240
|
+
}))
|
|
241
|
+
})
|
|
242
|
+
}),
|
|
243
|
+
/* @__PURE__ */ i("td", {
|
|
244
|
+
className: "py-3 pr-4",
|
|
245
|
+
children: /* @__PURE__ */ i("input", {
|
|
246
|
+
type: "checkbox",
|
|
247
|
+
checked: e.push,
|
|
248
|
+
disabled: !0,
|
|
249
|
+
className: "opacity-50",
|
|
250
|
+
"aria-label": "Push notifications (coming soon)"
|
|
251
|
+
})
|
|
252
|
+
})
|
|
253
|
+
]
|
|
254
|
+
}, e.topic);
|
|
255
|
+
}) })]
|
|
256
|
+
})
|
|
257
|
+
}),
|
|
258
|
+
_ ? /* @__PURE__ */ i("div", {
|
|
259
|
+
className: "mt-3 text-sm text-destructive",
|
|
260
|
+
children: _
|
|
261
|
+
}) : h ? /* @__PURE__ */ i("div", {
|
|
262
|
+
className: "mt-3 text-xs text-muted-foreground",
|
|
263
|
+
children: "Saving…"
|
|
264
|
+
}) : null
|
|
265
|
+
]
|
|
266
|
+
})]
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
//#endregion
|
|
270
|
+
export { d as NotificationsSettings };
|
|
271
|
+
|
|
272
|
+
//# sourceMappingURL=index310.js.map
|
package/dist/index310.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index310.js","sources":["../../../node_modules/date-fns/locale/en-US/_lib/match.js"],"sourcesContent":["import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n"],"names":["matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index"],"mappings":";;AAGA,MAAMA,IAA4B,yBAC5BC,IAA4B,QAE5BC,IAAmB;AAAA,EACvB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAmB;AAAA,EACvB,KAAK,CAAC,OAAO,SAAS;AACxB,GAEMC,IAAuB;AAAA,EAC3B,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAuB;AAAA,EAC3B,KAAK,CAAC,MAAM,MAAM,MAAM,IAAI;AAC9B,GAEMC,IAAqB;AAAA,EACzB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAqB;AAAA,EACzB,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEE,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACA,GAEMC,IAAmB;AAAA,EACvB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAmB;AAAA,EACvB,QAAQ,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;AAAA,EACxD,KAAK,CAAC,QAAQ,OAAO,QAAQ,OAAO,QAAQ,OAAO,MAAM;AAC3D,GAEMC,IAAyB;AAAA,EAC7B,QAAQ;AAAA,EACR,KAAK;AACP,GACMC,IAAyB;AAAA,EAC7B,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AACA,GAEaC,IAAQ;AAAA,EACnB,eAAeC,EAAoB;AAAA,IACjC,cAAcb;AAAA,IACd,cAAcC;AAAA,IACd,eAAe,CAACa,MAAU,SAASA,GAAO,EAAE;AAAA,EAChD,CAAG;AAAA,EAED,KAAKC,EAAa;AAAA,IAChB,eAAeb;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AAAA,EAED,SAASY,EAAa;AAAA,IACpB,eAAeX;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAe,CAACW,MAAUA,IAAQ;AAAA,EACtC,CAAG;AAAA,EAED,OAAOD,EAAa;AAAA,IAClB,eAAeT;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AAAA,EAED,KAAKQ,EAAa;AAAA,IAChB,eAAeP;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AAAA,EAED,WAAWM,EAAa;AAAA,IACtB,eAAeL;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AACH;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index310.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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"}
|