se-design 1.0.97 → 1.0.98-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/icons/envelope.svg +2 -2
- package/dist/assets/icons/envelopes-outline.svg +3 -0
- package/dist/assets/icons/home-outline.svg +3 -0
- package/dist/assets/icons/library-outline.svg +3 -0
- package/dist/assets/icons/magicpen.svg +11 -0
- package/dist/assets/icons/move-folder.svg +1 -1
- package/dist/assets/icons/plus.svg +2 -2
- package/dist/assets/icons/reports-outline.svg +3 -0
- package/dist/assets/icons/repository-outline.svg +3 -0
- package/dist/assets/icons/sign-doc.svg +10 -0
- package/dist/assets/icons/template.svg +3 -0
- package/dist/assets/icons/upload.svg +5 -0
- package/dist/assets/icons/views-outline.svg +3 -0
- package/dist/assets/style.css +1 -1
- package/dist/components/GetStartedWidget/index.d.ts +28 -5
- package/dist/components/Tabs/index.d.ts +2 -1
- package/dist/components/UpgradeBanner/index.d.ts +31 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/index.js +94 -92
- package/dist/index.js.map +1 -1
- package/dist/index100.js +1 -1
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +1 -1
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +1 -1
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +1 -1
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +1 -1
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +1 -1
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +1 -1
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +1 -1
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +1 -1
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +1 -1
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +1 -1
- package/dist/index110.js +1 -1
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +1 -1
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +1 -1
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +1 -1
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +1 -1
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +1 -1
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +1 -1
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +1 -1
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +1 -1
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +2 -2
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +3 -3
- package/dist/index120.js +1 -1
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +2 -2
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +1 -1
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +1 -1
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +2 -2
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +1 -1
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +2 -2
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +1 -1
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +1 -1
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +1 -1
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +3 -3
- package/dist/index130.js +1 -1
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +2 -2
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +2 -2
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +2 -2
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +2 -2
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +2 -2
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +2 -2
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +1 -1
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +2 -2
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +1 -1
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +1 -1
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +2 -2
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +2 -2
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +2 -2
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +2 -2
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +1 -1
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +1 -1
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +1 -1
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +1 -1
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +1 -1
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +1 -1
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +1 -1
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +2 -2
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +1 -1
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +1 -1
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +2 -2
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +1 -1
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +1 -1
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +1 -1
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +1 -1
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +3 -3
- package/dist/index160.js +1 -1
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +2 -2
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +2 -2
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +1 -1
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +2 -2
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +2 -2
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +2 -2
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +2 -2
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +1 -1
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +2 -2
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +2 -2
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +1 -1
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +1 -1
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +1 -1
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +1 -1
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +1 -1
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +1 -1
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +1 -1
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +1 -1
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +2 -2
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +3 -3
- package/dist/index180.js +1 -1
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +1 -1
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +1 -1
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +1 -1
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +1 -1
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +1 -1
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +1 -1
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +1 -1
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +1 -1
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +1 -1
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +5 -5
- package/dist/index190.js +1 -1
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +1 -1
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +2 -2
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +1 -1
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +1 -1
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +1 -1
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +2 -2
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +1 -1
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +1 -1
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +1 -1
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +2 -2
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +1 -1
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +1 -1
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +1 -1
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +2 -2
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +1 -1
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +1 -1
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +2 -2
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +1 -1
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +2 -2
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +2 -2
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +2 -2
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +2 -149
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +2 -9
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +2 -6
- package/dist/index214.js.map +1 -1
- package/dist/index215.js +2 -43
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +2 -21
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +5 -0
- package/dist/index217.js.map +1 -0
- package/dist/index218.js +5 -0
- package/dist/index218.js.map +1 -0
- package/dist/index219.js +5 -0
- package/dist/index219.js.map +1 -0
- package/dist/index220.js +5 -0
- package/dist/index220.js.map +1 -0
- package/dist/index221.js +5 -0
- package/dist/index221.js.map +1 -0
- package/dist/index222.js +5 -0
- package/dist/index222.js.map +1 -0
- package/dist/index223.js +148 -27
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +8 -71
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +9 -0
- package/dist/index225.js.map +1 -0
- package/dist/index226.js +46 -0
- package/dist/index226.js.map +1 -0
- package/dist/index227.js +24 -0
- package/dist/index227.js.map +1 -0
- package/dist/index23.js +1 -1
- package/dist/index234.js +31 -0
- package/dist/index234.js.map +1 -0
- package/dist/index235.js +75 -0
- package/dist/index235.js.map +1 -0
- package/dist/index24.js +3 -3
- package/dist/{index231.js → index242.js} +1 -1
- package/dist/{index231.js.map → index242.js.map} +1 -1
- package/dist/index244.js +11 -42
- package/dist/index244.js.map +1 -1
- package/dist/index253.js +1232 -169
- package/dist/index253.js.map +1 -1
- package/dist/index256.js +42 -18
- package/dist/index256.js.map +1 -1
- package/dist/index26.js +6 -6
- package/dist/index265.js +170 -2
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +3 -7
- package/dist/index266.js.map +1 -1
- package/dist/index268.js +18 -49
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +10 -2
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +8 -74
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +4 -92
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +166 -48
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +11 -8
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +5 -4
- package/dist/index274.js.map +1 -1
- package/dist/index275.js +5 -51
- package/dist/index275.js.map +1 -1
- package/dist/index276.js +38 -2
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +2 -2
- package/dist/index278.js +11 -0
- package/dist/index278.js.map +1 -0
- package/dist/{index267.js → index279.js} +6 -6
- package/dist/{index267.js.map → index279.js.map} +1 -1
- package/dist/index28.js +1 -1
- package/dist/index280.js +53 -0
- package/dist/index280.js.map +1 -0
- package/dist/index281.js +5 -0
- package/dist/index281.js.map +1 -0
- package/dist/index282.js +79 -0
- package/dist/index282.js.map +1 -0
- package/dist/index283.js +96 -0
- package/dist/index283.js.map +1 -0
- package/dist/index284.js +55 -0
- package/dist/index284.js.map +1 -0
- package/dist/index285.js +11 -0
- package/dist/index285.js.map +1 -0
- package/dist/index286.js +8 -0
- package/dist/index286.js.map +1 -0
- package/dist/index287.js +55 -0
- package/dist/index287.js.map +1 -0
- package/dist/index288.js +5 -0
- package/dist/index288.js.map +1 -0
- package/dist/index289.js +5 -0
- package/dist/index289.js.map +1 -0
- package/dist/index29.js +4 -4
- package/dist/index3.js +3 -3
- package/dist/index30.js +48 -46
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +4 -4
- package/dist/index32.js +1 -1
- package/dist/index33.js +11 -10
- package/dist/index34.js +1 -1
- package/dist/index36.js +4 -4
- package/dist/index37.js +5 -5
- package/dist/index38.js +3 -3
- package/dist/index39.js +5 -5
- package/dist/index4.js +4 -4
- package/dist/index40.js +4 -4
- package/dist/index41.js +1 -1
- package/dist/index43.js +125 -42
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +139 -101
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +105 -50
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +53 -142
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +140 -194
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +187 -26
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +30 -26
- package/dist/index49.js.map +1 -1
- package/dist/index50.js +39 -0
- package/dist/index50.js.map +1 -0
- package/dist/index52.js +195 -35
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +34 -32
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +34 -151
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +140 -72
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +78 -453
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +459 -96
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +98 -43
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +40 -35
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +238 -218
- package/dist/index6.js.map +1 -1
- package/dist/index60.js +33 -87
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +89 -159
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +157 -143
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +149 -33
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +33 -86
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +80 -113
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +114 -73
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +73 -158
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +157 -312
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +317 -46
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +10 -9
- package/dist/index70.js +45 -142
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +145 -12
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +10 -53
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +52 -110
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +111 -17
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +17 -64
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +64 -25
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +24 -105
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +104 -58
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +60 -19
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +18 -168
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +171 -18
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +17 -10
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +11 -5
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +5 -62
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +58 -23
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +25 -9
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +14 -0
- package/dist/index87.js.map +1 -0
- package/dist/index89.js +2 -2
- package/dist/index89.js.map +1 -1
- package/dist/index9.js +4 -4
- package/dist/index90.js +2 -2
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +2 -2
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +2 -2
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +1 -1
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +1 -1
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +1 -1
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +1 -1
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +1 -1
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +1 -1
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +1 -1
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
- package/dist/index233.js +0 -15
- package/dist/index233.js.map +0 -1
- package/dist/index241.js +0 -1236
- package/dist/index241.js.map +0 -1
- package/dist/index254.js +0 -7
- package/dist/index254.js.map +0 -1
- package/dist/index257.js +0 -13
- package/dist/index257.js.map +0 -1
- package/dist/index258.js +0 -13
- package/dist/index258.js.map +0 -1
- package/dist/index259.js +0 -8
- package/dist/index259.js.map +0 -1
- package/dist/index260.js +0 -173
- package/dist/index260.js.map +0 -1
- package/dist/index261.js +0 -14
- package/dist/index261.js.map +0 -1
- package/dist/index262.js +0 -9
- package/dist/index262.js.map +0 -1
- package/dist/index263.js +0 -9
- package/dist/index263.js.map +0 -1
- package/dist/index264.js +0 -41
- package/dist/index264.js.map +0 -1
- package/dist/index51.js +0 -201
- package/dist/index51.js.map +0 -1
- package/dist/index88.js +0 -5
- package/dist/index88.js.map +0 -1
package/dist/index48.js
CHANGED
|
@@ -1,43 +1,204 @@
|
|
|
1
|
-
import e from "react";
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}) => /* @__PURE__ */ e.createElement("span", {
|
|
9
|
-
className: "nl-dynamic-chip",
|
|
10
|
-
title: c,
|
|
11
|
-
"data-automation-id": l
|
|
12
|
-
}, /* @__PURE__ */ e.createElement("svg", {
|
|
13
|
-
className: "nrc-sparkle",
|
|
1
|
+
import e, { useRef as R, useState as g, useCallback as C, useEffect as b } from "react";
|
|
2
|
+
const A = ({
|
|
3
|
+
size: n = 14,
|
|
4
|
+
className: s
|
|
5
|
+
}) => /* @__PURE__ */ e.createElement("svg", {
|
|
6
|
+
width: n,
|
|
7
|
+
height: n,
|
|
14
8
|
viewBox: "0 0 18 18",
|
|
15
9
|
fill: "currentColor",
|
|
10
|
+
className: s,
|
|
16
11
|
"aria-hidden": "true"
|
|
17
12
|
}, /* @__PURE__ */ e.createElement("path", {
|
|
18
13
|
d: "M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z"
|
|
19
14
|
}), /* @__PURE__ */ e.createElement("path", {
|
|
20
15
|
d: "M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z"
|
|
21
|
-
})),
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
onClick: t,
|
|
27
|
-
"aria-label": n || `Remove ${a}`,
|
|
28
|
-
"data-automation-id": `${l}-dismiss`
|
|
29
|
-
}, /* @__PURE__ */ e.createElement("svg", {
|
|
16
|
+
})), U = ({
|
|
17
|
+
size: n = 14
|
|
18
|
+
}) => /* @__PURE__ */ e.createElement("svg", {
|
|
19
|
+
width: n,
|
|
20
|
+
height: n,
|
|
30
21
|
viewBox: "0 0 24 24",
|
|
31
22
|
fill: "none",
|
|
32
23
|
stroke: "currentColor",
|
|
33
|
-
strokeWidth: "2
|
|
24
|
+
strokeWidth: "2",
|
|
25
|
+
strokeLinecap: "round",
|
|
26
|
+
strokeLinejoin: "round",
|
|
27
|
+
"aria-hidden": "true"
|
|
28
|
+
}, /* @__PURE__ */ e.createElement("circle", {
|
|
29
|
+
cx: "12",
|
|
30
|
+
cy: "12",
|
|
31
|
+
r: "10"
|
|
32
|
+
}), /* @__PURE__ */ e.createElement("path", {
|
|
33
|
+
d: "M12 6v6l4 2"
|
|
34
|
+
})), q = ({
|
|
35
|
+
size: n = 14
|
|
36
|
+
}) => /* @__PURE__ */ e.createElement("svg", {
|
|
37
|
+
width: n,
|
|
38
|
+
height: n,
|
|
39
|
+
viewBox: "0 0 24 24",
|
|
40
|
+
fill: "none",
|
|
41
|
+
stroke: "currentColor",
|
|
42
|
+
strokeWidth: "2.2",
|
|
34
43
|
strokeLinecap: "round",
|
|
35
44
|
"aria-hidden": "true"
|
|
36
45
|
}, /* @__PURE__ */ e.createElement("path", {
|
|
37
46
|
d: "M18 6 6 18M6 6l12 12"
|
|
38
|
-
}))))
|
|
39
|
-
|
|
47
|
+
})), H = /[.*+?^${}()|[\]\\]/g, J = (n, s, m) => {
|
|
48
|
+
const o = (m && m.length ? m : [s]).map((r) => (r || "").trim()).filter(Boolean);
|
|
49
|
+
if (!o.length) return n;
|
|
50
|
+
o.sort((r, i) => i.length - r.length);
|
|
51
|
+
const k = new Set(o.map((r) => r.toLowerCase())), l = o.map((r) => r.replace(H, "\\$&")).join("|");
|
|
52
|
+
return n.split(new RegExp(`(${l})`, "ig")).map((r, i) => k.has(r.toLowerCase()) ? /* @__PURE__ */ e.createElement("mark", {
|
|
53
|
+
key: i
|
|
54
|
+
}, r) : /* @__PURE__ */ e.createElement(e.Fragment, {
|
|
55
|
+
key: i
|
|
56
|
+
}, r));
|
|
57
|
+
}, P = /* @__PURE__ */ e.memo(({
|
|
58
|
+
value: n,
|
|
59
|
+
onChange: s,
|
|
60
|
+
onSelect: m,
|
|
61
|
+
onSubmit: o,
|
|
62
|
+
onClear: k,
|
|
63
|
+
suggestions: l = [],
|
|
64
|
+
isLoading: v = !1,
|
|
65
|
+
helperText: r,
|
|
66
|
+
helperVariant: i = "info",
|
|
67
|
+
placeholder: S = "Get any of your contracts",
|
|
68
|
+
placeholderPrefix: d,
|
|
69
|
+
examples: u,
|
|
70
|
+
collapsed: c = !1,
|
|
71
|
+
onExpand: I,
|
|
72
|
+
automationId: B = "nl-search-input",
|
|
73
|
+
ariaLabel: F = "Natural language search"
|
|
74
|
+
}) => {
|
|
75
|
+
const D = R(null), K = R(null), [w, E] = g(!1), [h, N] = g(-1), j = C(() => {
|
|
76
|
+
c && I?.();
|
|
77
|
+
}, [c, I]), p = !!u && u.length > 0 && !n && !w, [L, W] = g(0), [f, _] = g(""), [y, $] = g("typing");
|
|
78
|
+
b(() => {
|
|
79
|
+
if (!p) return;
|
|
80
|
+
const t = u[L % u.length] || "";
|
|
81
|
+
let a = 60;
|
|
82
|
+
if (y === "typing")
|
|
83
|
+
if (f.length < t.length)
|
|
84
|
+
a = 55 + Math.random() * 35;
|
|
85
|
+
else {
|
|
86
|
+
const x = setTimeout(() => $("erasing"), 1800);
|
|
87
|
+
return () => clearTimeout(x);
|
|
88
|
+
}
|
|
89
|
+
else if (y === "erasing")
|
|
90
|
+
if (f.length > 0)
|
|
91
|
+
a = 28;
|
|
92
|
+
else {
|
|
93
|
+
const x = setTimeout(() => {
|
|
94
|
+
W((O) => (O + 1) % u.length), $("typing");
|
|
95
|
+
}, 260);
|
|
96
|
+
return () => clearTimeout(x);
|
|
97
|
+
}
|
|
98
|
+
const M = setTimeout(() => {
|
|
99
|
+
y === "typing" ? _(t.slice(0, f.length + 1)) : y === "erasing" && _(t.slice(0, f.length - 1));
|
|
100
|
+
}, a);
|
|
101
|
+
return () => clearTimeout(M);
|
|
102
|
+
}, [p, L, f, y, u]), b(() => {
|
|
103
|
+
p || (_(""), $("typing"));
|
|
104
|
+
}, [p]), b(() => {
|
|
105
|
+
N(-1);
|
|
106
|
+
}, [l]), b(() => {
|
|
107
|
+
if (!w) return;
|
|
108
|
+
const t = (a) => {
|
|
109
|
+
D.current && !D.current.contains(a.target) && E(!1);
|
|
110
|
+
};
|
|
111
|
+
return document.addEventListener("mousedown", t), () => document.removeEventListener("mousedown", t);
|
|
112
|
+
}, [w]);
|
|
113
|
+
const Z = w && l.length > 0, T = C((t) => {
|
|
114
|
+
m?.(t), E(!1);
|
|
115
|
+
}, [m]), z = C((t) => {
|
|
116
|
+
t.key === "ArrowDown" && l.length ? (t.preventDefault(), N((a) => (a + 1) % l.length)) : t.key === "ArrowUp" && l.length ? (t.preventDefault(), N((a) => a <= 0 ? l.length - 1 : a - 1)) : t.key === "Enter" ? h >= 0 && l[h] ? (t.preventDefault(), T(l[h])) : n.trim() && (t.preventDefault(), o?.(n.trim()), E(!1)) : t.key === "Escape" && E(!1);
|
|
117
|
+
}, [l, h, n, T, o]), G = C(() => {
|
|
118
|
+
s(""), k?.();
|
|
119
|
+
}, [s, k]);
|
|
120
|
+
return /* @__PURE__ */ e.createElement("div", {
|
|
121
|
+
className: `nl-wrap${c ? " is-collapsed" : ""}`,
|
|
122
|
+
ref: D,
|
|
123
|
+
"data-automation-id": B
|
|
124
|
+
}, /* @__PURE__ */ e.createElement("div", {
|
|
125
|
+
className: `nl-input-row${w ? " is-active" : ""}${v ? " is-loading" : ""}${c ? " is-collapsed" : ""}`
|
|
126
|
+
}, /* @__PURE__ */ e.createElement("div", {
|
|
127
|
+
className: "nl-mark",
|
|
128
|
+
"aria-hidden": !c,
|
|
129
|
+
role: c ? "button" : void 0,
|
|
130
|
+
"aria-label": c ? "Open AI search" : void 0,
|
|
131
|
+
tabIndex: c ? 0 : -1,
|
|
132
|
+
onClick: j,
|
|
133
|
+
onKeyDown: c ? (t) => {
|
|
134
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), I?.());
|
|
135
|
+
} : void 0
|
|
136
|
+
}, /* @__PURE__ */ e.createElement(A, {
|
|
137
|
+
size: 14
|
|
138
|
+
})), /* @__PURE__ */ e.createElement("input", {
|
|
139
|
+
ref: K,
|
|
140
|
+
type: "text",
|
|
141
|
+
className: "nl-input",
|
|
142
|
+
value: n,
|
|
143
|
+
placeholder: p ? "" : S,
|
|
144
|
+
autoComplete: "off",
|
|
145
|
+
"aria-label": F,
|
|
146
|
+
tabIndex: c ? -1 : 0,
|
|
147
|
+
disabled: c,
|
|
148
|
+
onChange: (t) => s(t.target.value),
|
|
149
|
+
onFocus: () => E(!0),
|
|
150
|
+
onKeyDown: z
|
|
151
|
+
}), p && /* @__PURE__ */ e.createElement("div", {
|
|
152
|
+
className: "nl-typewriter",
|
|
153
|
+
"aria-hidden": "true"
|
|
154
|
+
}, d && /* @__PURE__ */ e.createElement("span", {
|
|
155
|
+
className: "nl-typewriter__prefix"
|
|
156
|
+
}, d), /* @__PURE__ */ e.createElement("span", {
|
|
157
|
+
className: "nl-typewriter__example"
|
|
158
|
+
}, f), /* @__PURE__ */ e.createElement("span", {
|
|
159
|
+
className: "nl-typewriter__caret"
|
|
160
|
+
}), d && /['"`]\s*$/.test(d) && /* @__PURE__ */ e.createElement("span", {
|
|
161
|
+
className: "nl-typewriter__prefix"
|
|
162
|
+
}, d.trim().slice(-1))), v && /* @__PURE__ */ e.createElement("span", {
|
|
163
|
+
className: "nl-spinner show",
|
|
164
|
+
role: "status",
|
|
165
|
+
"aria-label": "Resolving"
|
|
166
|
+
}), !v && n && /* @__PURE__ */ e.createElement("button", {
|
|
167
|
+
type: "button",
|
|
168
|
+
className: "nl-clear show",
|
|
169
|
+
title: "Clear search",
|
|
170
|
+
onClick: G
|
|
171
|
+
}, /* @__PURE__ */ e.createElement(q, {
|
|
172
|
+
size: 14
|
|
173
|
+
}))), Z && /* @__PURE__ */ e.createElement("div", {
|
|
174
|
+
className: "nl-suggestions show",
|
|
175
|
+
role: "listbox"
|
|
176
|
+
}, l.map((t, a) => /* @__PURE__ */ e.createElement("button", {
|
|
177
|
+
key: `${t.source}-${t.text}`,
|
|
178
|
+
type: "button",
|
|
179
|
+
role: "option",
|
|
180
|
+
"aria-selected": a === h,
|
|
181
|
+
className: `nl-sug${a === h ? " kb-active" : ""}`,
|
|
182
|
+
onMouseEnter: () => N(a),
|
|
183
|
+
onMouseDown: (M) => {
|
|
184
|
+
M.preventDefault(), T(t);
|
|
185
|
+
}
|
|
186
|
+
}, t.source === "recent" ? /* @__PURE__ */ e.createElement(U, {
|
|
187
|
+
size: 16
|
|
188
|
+
}) : /* @__PURE__ */ e.createElement(A, {
|
|
189
|
+
size: 16,
|
|
190
|
+
className: "sparkle"
|
|
191
|
+
}), /* @__PURE__ */ e.createElement("span", {
|
|
192
|
+
className: "sug-text"
|
|
193
|
+
}, J(t.text, n.trim(), t.highlight_terms)), t.source === "recent" && /* @__PURE__ */ e.createElement("span", {
|
|
194
|
+
className: "sug-meta"
|
|
195
|
+
}, "Recent")))), r && /* @__PURE__ */ e.createElement("div", {
|
|
196
|
+
className: `nl-helper nl-helper--${i}`,
|
|
197
|
+
role: i === "error" ? "alert" : "status"
|
|
198
|
+
}, r));
|
|
199
|
+
});
|
|
200
|
+
P.displayName = "NLSearchInput";
|
|
40
201
|
export {
|
|
41
|
-
|
|
202
|
+
P as NLSearchInput
|
|
42
203
|
};
|
|
43
204
|
//# sourceMappingURL=index48.js.map
|
package/dist/index48.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index48.js","sources":["../src/components/NLSearch/NLDynamicChip.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface NLDynamicChipProps {\n /** Display label, e.g. \"Contract value > 100,000\". */\n label: string;\n /**\n * Optional canonical operator+value string, shown as a hover tooltip.\n * Use the raw filter representation, e.g. `contract_value > 100000`.\n */\n fullValue?: string;\n /**\n * When provided, the chip renders an X control on the right that\n * fires this callback. Use it for per-chip selective dismissal; omit\n * it to render the chip as a pure indicator.\n */\n onDismiss?: () => void;\n /** aria-label for the dismiss control. Defaults to \"Remove filter\". */\n dismissAriaLabel?: string;\n automationId?: string;\n}\n\n/**\n * Chip rendered in the AI-filters row for keyterms that don't have a\n * dedicated chip in the manual filter UI today (contract_value,\n * salary, expiry_date, governing_law, …). Acts as a pure indicator by\n * default; pass `onDismiss` to make it individually dismissible.\n */\nexport const NLDynamicChip: React.FC<NLDynamicChipProps> = React.memo(\n ({ label, fullValue, onDismiss, dismissAriaLabel, automationId = 'nl-dynamic-chip' }) => (\n <span\n className=\"nl-dynamic-chip\"\n title={fullValue}\n data-automation-id={automationId}\n >\n <svg className=\"nrc-sparkle\" viewBox=\"0 0 18 18\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z\" />\n <path d=\"M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z\" />\n </svg>\n <span className=\"nl-dynamic-chip__label\">{label}</span>\n {onDismiss && (\n <button\n type=\"button\"\n className=\"nl-dynamic-chip__dismiss\"\n onClick={onDismiss}\n aria-label={dismissAriaLabel || `Remove ${label}`}\n data-automation-id={`${automationId}-dismiss`}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.6\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n </button>\n )}\n </span>\n )\n);\n\nNLDynamicChip.displayName = 'NLDynamicChip';\n"],"names":["React__default","NLDynamicChip","React","memo","label","fullValue","onDismiss","dismissAriaLabel","automationId","createElement","className","title","viewBox","fill","d","type","onClick","stroke","strokeWidth","strokeLinecap","displayName"],"mappings":"AA2BO,OAAAA,OAAA;AAAA,MAAMC,IAA8CC,gBAAAA,EAAMC,KAC/D,CAAC;AAAA,EAAEC,OAAAA;AAAAA,EAAOC,WAAAA;AAAAA,EAAWC,WAAAA;AAAAA,EAAWC,kBAAAA;AAAAA,EAAkBC,cAAAA,IAAe;AAAkB,MACjFN,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EACEC,WAAU;AAAA,EACVC,OAAON;AAAAA,EACP,sBAAoBG;AAAa,GAEjCN,gBAAAA,EAAAO,cAAA,OAAA;AAAA,EAAKC,WAAU;AAAA,EAAcE,SAAQ;AAAA,EAAYC,MAAK;AAAA,EAAe,eAAY;AAAM,GACrFX,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMK,GAAE;AAA4R,CAAE,GACtSZ,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMK,GAAE;AAAqS,CAAE,CAC5S,GACLZ,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMC,WAAU;AAAwB,GAAEN,CAAY,GACrDE,KACCJ,gBAAAA,EAAAO,cAAA,UAAA;AAAA,EACEM,MAAK;AAAA,EACLL,WAAU;AAAA,EACVM,SAASV;AAAAA,EACT,cAAYC,KAAoB,UAAUH,CAAK;AAAA,EAC/C,sBAAoB,GAAGI,CAAY;AAAW,GAE9CN,gBAAAA,EAAAO,cAAA,OAAA;AAAA,EAAKG,SAAQ;AAAA,EAAYC,MAAK;AAAA,EAAOI,QAAO;AAAA,EAAeC,aAAY;AAAA,EAAMC,eAAc;AAAA,EAAQ,eAAY;AAAM,GACnHjB,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMK,GAAE;AAAsB,CAAE,CAC7B,CACC,CAEN,CAEV;AAEAb,EAAcmB,cAAc;"}
|
|
1
|
+
{"version":3,"file":"index48.js","sources":["../src/components/NLSearch/NLSearchInput.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type NLSuggestionSource = 'recent' | 'global';\n\nexport interface NLSuggestion {\n text: string;\n source: NLSuggestionSource;\n /**\n * Words inside `text` the backend wants <mark>-highlighted. Set when\n * the user's typed prefix matched via a synonym (typed \"documents\",\n * suggestion says \"contracts\" — backend returns `[\"contracts\"]` so the\n * canonical word still lights up). Empty/undefined falls back to\n * highlighting the literal typed query.\n */\n highlight_terms?: string[];\n}\n\nexport interface NLSearchInputProps {\n value: string;\n onChange: (value: string) => void;\n onSelect?: (suggestion: NLSuggestion) => void;\n onSubmit?: (text: string) => void;\n onClear?: () => void;\n suggestions?: NLSuggestion[];\n isLoading?: boolean;\n helperText?: string;\n helperVariant?: 'info' | 'warning' | 'error';\n placeholder?: string;\n /**\n * When provided alongside `examples`, the input renders a typewriter\n * placeholder overlay: `<placeholderPrefix><typed-example>` cycling\n * through the list every ~5s. The native `placeholder` prop is\n * suppressed while the overlay is active so the two don't collide.\n */\n placeholderPrefix?: string;\n examples?: string[];\n /**\n * When true, the bar collapses to just the sparkle disc — the input,\n * placeholder overlay, clear button, and helper line all hide via\n * width + opacity transitions. Clicking the disc fires `onExpand`\n * (the parent toggles `collapsed` back to false). Auto-focuses the\n * input after the expand animation finishes.\n */\n collapsed?: boolean;\n onExpand?: () => void;\n automationId?: string;\n ariaLabel?: string;\n}\n\nconst SparkleIcon = ({ size = 14, className }: { size?: number; className?: string }) => (\n <svg width={size} height={size} viewBox=\"0 0 18 18\" fill=\"currentColor\" className={className} aria-hidden=\"true\">\n <path d=\"M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z\" />\n <path d=\"M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z\" />\n </svg>\n);\n\nconst ClockIcon = ({ size = 14 }: { size?: number }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 6v6l4 2\" />\n </svg>\n);\n\nconst CloseIcon = ({ size = 14 }: { size?: number }) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.2\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n);\n\nconst RE_SPECIAL = /[.*+?^${}()|[\\]\\\\]/g;\n\n/**\n * Wrap each case-insensitive occurrence of `terms` (any of them) inside\n * `text` in a <mark>. Long terms first so \"contracts\" wins over a\n * shorter prefix that overlaps. Falls back to splitting on the literal\n * `query` if no `terms` were provided by the backend.\n */\nconst highlightMatch = (\n text: string,\n query: string,\n terms?: string[],\n): React.ReactNode => {\n const needles = (terms && terms.length ? terms : [query])\n .map((t) => (t || '').trim())\n .filter(Boolean);\n if (!needles.length) return text;\n // Longest first so substrings don't pre-empt the longer canonical\n // match (e.g. \"contracts\" should win over \"con\").\n needles.sort((a, b) => b.length - a.length);\n const needleSet = new Set(needles.map((n) => n.toLowerCase()));\n const pattern = needles.map((n) => n.replace(RE_SPECIAL, '\\\\$&')).join('|');\n const parts = text.split(new RegExp(`(${pattern})`, 'ig'));\n return parts.map((part, idx) =>\n needleSet.has(part.toLowerCase())\n ? <mark key={idx}>{part}</mark>\n : <React.Fragment key={idx}>{part}</React.Fragment>,\n );\n};\n\nexport const NLSearchInput: React.FC<NLSearchInputProps> = React.memo(\n ({\n value,\n onChange,\n onSelect,\n onSubmit,\n onClear,\n suggestions = [],\n isLoading = false,\n helperText,\n helperVariant = 'info',\n placeholder = 'Get any of your contracts',\n placeholderPrefix,\n examples,\n collapsed = false,\n onExpand,\n automationId = 'nl-search-input',\n ariaLabel = 'Natural language search'\n }) => {\n const wrapRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const [focused, setFocused] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const handleMarkClick = useCallback(() => {\n if (collapsed) onExpand?.();\n }, [collapsed, onExpand]);\n\n // Typewriter overlay state. Only animates when:\n // • caller passed a non-empty `examples` list,\n // • the input is empty (no user-typed value),\n // • the input isn't focused.\n // On any of those conditions flipping false the overlay hides\n // instantly and the native input takes over.\n const showTypewriter =\n !!examples && examples.length > 0 && !value && !focused;\n const [twIdx, setTwIdx] = useState(0);\n const [twText, setTwText] = useState('');\n const [twPhase, setTwPhase] = useState<'typing' | 'holding' | 'erasing'>('typing');\n\n useEffect(() => {\n if (!showTypewriter) return undefined;\n const target = examples![twIdx % examples!.length] || '';\n let delay = 60;\n if (twPhase === 'typing') {\n if (twText.length < target.length) {\n delay = 55 + Math.random() * 35; // slight jitter for organic feel\n } else {\n // Finished typing — hold the full sentence before erasing.\n const t = setTimeout(() => setTwPhase('erasing'), 1800);\n return () => clearTimeout(t);\n }\n } else if (twPhase === 'erasing') {\n if (twText.length > 0) {\n delay = 28;\n } else {\n // Erased — short pause then cycle to next example.\n const t = setTimeout(() => {\n setTwIdx((i) => (i + 1) % examples!.length);\n setTwPhase('typing');\n }, 260);\n return () => clearTimeout(t);\n }\n }\n const tick = setTimeout(() => {\n if (twPhase === 'typing') setTwText(target.slice(0, twText.length + 1));\n else if (twPhase === 'erasing') setTwText(target.slice(0, twText.length - 1));\n }, delay);\n return () => clearTimeout(tick);\n }, [showTypewriter, twIdx, twText, twPhase, examples]);\n\n // Reset typewriter when overlay re-engages so it starts cleanly.\n useEffect(() => {\n if (!showTypewriter) {\n setTwText('');\n setTwPhase('typing');\n }\n }, [showTypewriter]);\n\n useEffect(() => {\n setActiveIndex(-1);\n }, [suggestions]);\n\n useEffect(() => {\n if (!focused) return undefined;\n const onDocClick = (e: MouseEvent) => {\n if (wrapRef.current && !wrapRef.current.contains(e.target as Node)) {\n setFocused(false);\n }\n };\n document.addEventListener('mousedown', onDocClick);\n return () => document.removeEventListener('mousedown', onDocClick);\n }, [focused]);\n\n const showPopover = focused && suggestions.length > 0;\n\n const pick = useCallback(\n (s: NLSuggestion) => {\n onSelect?.(s);\n setFocused(false);\n },\n [onSelect]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown' && suggestions.length) {\n e.preventDefault();\n setActiveIndex((i) => (i + 1) % suggestions.length);\n } else if (e.key === 'ArrowUp' && suggestions.length) {\n e.preventDefault();\n setActiveIndex((i) => (i <= 0 ? suggestions.length - 1 : i - 1));\n } else if (e.key === 'Enter') {\n if (activeIndex >= 0 && suggestions[activeIndex]) {\n e.preventDefault();\n pick(suggestions[activeIndex]);\n } else if (value.trim()) {\n e.preventDefault();\n onSubmit?.(value.trim());\n setFocused(false);\n }\n } else if (e.key === 'Escape') {\n setFocused(false);\n }\n },\n [suggestions, activeIndex, value, pick, onSubmit]\n );\n\n const handleClear = useCallback(() => {\n onChange('');\n onClear?.();\n }, [onChange, onClear]);\n\n return (\n <div\n className={`nl-wrap${collapsed ? ' is-collapsed' : ''}`}\n ref={wrapRef}\n data-automation-id={automationId}\n >\n <div className={`nl-input-row${focused ? ' is-active' : ''}${isLoading ? ' is-loading' : ''}${collapsed ? ' is-collapsed' : ''}`}>\n <div\n className=\"nl-mark\"\n aria-hidden={!collapsed}\n role={collapsed ? 'button' : undefined}\n aria-label={collapsed ? 'Open AI search' : undefined}\n tabIndex={collapsed ? 0 : -1}\n onClick={handleMarkClick}\n onKeyDown={collapsed ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onExpand?.();\n }\n } : undefined}\n >\n <SparkleIcon size={14} />\n </div>\n <input\n ref={inputRef}\n type=\"text\"\n className=\"nl-input\"\n value={value}\n placeholder={showTypewriter ? '' : placeholder}\n autoComplete=\"off\"\n aria-label={ariaLabel}\n // Skip the bar in tab order while collapsed; restored on\n // expand. Prevents users from \"clicking\" the hidden input\n // via keyboard.\n tabIndex={collapsed ? -1 : 0}\n disabled={collapsed}\n onChange={(e) => onChange(e.target.value)}\n onFocus={() => setFocused(true)}\n onKeyDown={handleKeyDown}\n />\n {showTypewriter && (\n <div className=\"nl-typewriter\" aria-hidden=\"true\">\n {placeholderPrefix && (\n <span className=\"nl-typewriter__prefix\">{placeholderPrefix}</span>\n )}\n <span className=\"nl-typewriter__example\">{twText}</span>\n <span className=\"nl-typewriter__caret\" />\n {/* Closing quote — paired with the opening quote the\n caller passes in via placeholderPrefix. Hidden when\n the prefix doesn't end with an opening quote so the\n component degrades cleanly for callers that pass a\n prefix without quotes. */}\n {placeholderPrefix && /['\"`]\\s*$/.test(placeholderPrefix) && (\n <span className=\"nl-typewriter__prefix\">\n {placeholderPrefix.trim().slice(-1)}\n </span>\n )}\n </div>\n )}\n {isLoading && <span className=\"nl-spinner show\" role=\"status\" aria-label=\"Resolving\" />}\n {!isLoading && value && (\n <button type=\"button\" className=\"nl-clear show\" title=\"Clear search\" onClick={handleClear}>\n <CloseIcon size={14} />\n </button>\n )}\n </div>\n\n {showPopover && (\n <div className=\"nl-suggestions show\" role=\"listbox\">\n {suggestions.map((s, i) => (\n <button\n key={`${s.source}-${s.text}`}\n type=\"button\"\n role=\"option\"\n aria-selected={i === activeIndex}\n className={`nl-sug${i === activeIndex ? ' kb-active' : ''}`}\n onMouseEnter={() => setActiveIndex(i)}\n onMouseDown={(e) => {\n e.preventDefault();\n pick(s);\n }}\n >\n {s.source === 'recent' ? (\n <ClockIcon size={16} />\n ) : (\n <SparkleIcon size={16} className=\"sparkle\" />\n )}\n <span className=\"sug-text\">{highlightMatch(s.text, value.trim(), s.highlight_terms)}</span>\n {s.source === 'recent' && <span className=\"sug-meta\">Recent</span>}\n </button>\n ))}\n </div>\n )}\n\n {helperText && (\n <div\n className={`nl-helper nl-helper--${helperVariant}`}\n role={helperVariant === 'error' ? 'alert' : 'status'}\n >\n {helperText}\n </div>\n )}\n </div>\n );\n }\n);\n\nNLSearchInput.displayName = 'NLSearchInput';\n"],"names":["SparkleIcon","size","className","React","createElement","width","height","viewBox","fill","d","ClockIcon","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","CloseIcon","RE_SPECIAL","highlightMatch","text","query","terms","needles","length","map","t","trim","filter","Boolean","sort","a","b","needleSet","Set","n","toLowerCase","pattern","replace","join","split","RegExp","part","idx","has","key","Fragment","NLSearchInput","memo","value","onChange","onSelect","onSubmit","onClear","suggestions","isLoading","helperText","helperVariant","placeholder","placeholderPrefix","examples","collapsed","onExpand","automationId","ariaLabel","wrapRef","useRef","inputRef","focused","setFocused","useState","activeIndex","setActiveIndex","handleMarkClick","useCallback","showTypewriter","twIdx","setTwIdx","twText","setTwText","twPhase","setTwPhase","useEffect","target","delay","Math","random","setTimeout","clearTimeout","i","tick","slice","onDocClick","e","current","contains","document","addEventListener","removeEventListener","showPopover","pick","s","handleKeyDown","preventDefault","handleClear","ref","role","undefined","tabIndex","onClick","onKeyDown","type","autoComplete","disabled","onFocus","test","title","source","onMouseEnter","onMouseDown","highlight_terms","displayName"],"mappings":"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"}
|
package/dist/index49.js
CHANGED
|
@@ -1,39 +1,43 @@
|
|
|
1
1
|
import e from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}) =>
|
|
9
|
-
className: "nl-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
2
|
+
const i = /* @__PURE__ */ e.memo(({
|
|
3
|
+
label: a,
|
|
4
|
+
fullValue: c,
|
|
5
|
+
onDismiss: t,
|
|
6
|
+
dismissAriaLabel: n,
|
|
7
|
+
automationId: l = "nl-dynamic-chip"
|
|
8
|
+
}) => /* @__PURE__ */ e.createElement("span", {
|
|
9
|
+
className: "nl-dynamic-chip",
|
|
10
|
+
title: c,
|
|
11
|
+
"data-automation-id": l
|
|
12
|
+
}, /* @__PURE__ */ e.createElement("svg", {
|
|
13
|
+
className: "nrc-sparkle",
|
|
14
|
+
viewBox: "0 0 18 18",
|
|
15
|
+
fill: "currentColor",
|
|
16
|
+
"aria-hidden": "true"
|
|
17
|
+
}, /* @__PURE__ */ e.createElement("path", {
|
|
18
|
+
d: "M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z"
|
|
19
|
+
}), /* @__PURE__ */ e.createElement("path", {
|
|
20
|
+
d: "M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z"
|
|
21
|
+
})), /* @__PURE__ */ e.createElement("span", {
|
|
22
|
+
className: "nl-dynamic-chip__label"
|
|
23
|
+
}, a), t && /* @__PURE__ */ e.createElement("button", {
|
|
18
24
|
type: "button",
|
|
19
|
-
className: "nl-
|
|
20
|
-
onClick:
|
|
21
|
-
"
|
|
22
|
-
"
|
|
25
|
+
className: "nl-dynamic-chip__dismiss",
|
|
26
|
+
onClick: t,
|
|
27
|
+
"aria-label": n || `Remove ${a}`,
|
|
28
|
+
"data-automation-id": `${l}-dismiss`
|
|
23
29
|
}, /* @__PURE__ */ e.createElement("svg", {
|
|
24
|
-
width: "12",
|
|
25
|
-
height: "12",
|
|
26
30
|
viewBox: "0 0 24 24",
|
|
27
31
|
fill: "none",
|
|
28
32
|
stroke: "currentColor",
|
|
29
|
-
strokeWidth: "2.
|
|
33
|
+
strokeWidth: "2.6",
|
|
30
34
|
strokeLinecap: "round",
|
|
31
35
|
"aria-hidden": "true"
|
|
32
36
|
}, /* @__PURE__ */ e.createElement("path", {
|
|
33
37
|
d: "M18 6 6 18M6 6l12 12"
|
|
34
|
-
}))
|
|
35
|
-
|
|
38
|
+
})))));
|
|
39
|
+
i.displayName = "NLDynamicChip";
|
|
36
40
|
export {
|
|
37
|
-
|
|
41
|
+
i as NLDynamicChip
|
|
38
42
|
};
|
|
39
43
|
//# sourceMappingURL=index49.js.map
|
package/dist/index49.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index49.js","sources":["../src/components/NLSearch/
|
|
1
|
+
{"version":3,"file":"index49.js","sources":["../src/components/NLSearch/NLDynamicChip.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface NLDynamicChipProps {\n /** Display label, e.g. \"Contract value > 100,000\". */\n label: string;\n /**\n * Optional canonical operator+value string, shown as a hover tooltip.\n * Use the raw filter representation, e.g. `contract_value > 100000`.\n */\n fullValue?: string;\n /**\n * When provided, the chip renders an X control on the right that\n * fires this callback. Use it for per-chip selective dismissal; omit\n * it to render the chip as a pure indicator.\n */\n onDismiss?: () => void;\n /** aria-label for the dismiss control. Defaults to \"Remove filter\". */\n dismissAriaLabel?: string;\n automationId?: string;\n}\n\n/**\n * Chip rendered in the AI-filters row for keyterms that don't have a\n * dedicated chip in the manual filter UI today (contract_value,\n * salary, expiry_date, governing_law, …). Acts as a pure indicator by\n * default; pass `onDismiss` to make it individually dismissible.\n */\nexport const NLDynamicChip: React.FC<NLDynamicChipProps> = React.memo(\n ({ label, fullValue, onDismiss, dismissAriaLabel, automationId = 'nl-dynamic-chip' }) => (\n <span\n className=\"nl-dynamic-chip\"\n title={fullValue}\n data-automation-id={automationId}\n >\n <svg className=\"nrc-sparkle\" viewBox=\"0 0 18 18\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z\" />\n <path d=\"M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z\" />\n </svg>\n <span className=\"nl-dynamic-chip__label\">{label}</span>\n {onDismiss && (\n <button\n type=\"button\"\n className=\"nl-dynamic-chip__dismiss\"\n onClick={onDismiss}\n aria-label={dismissAriaLabel || `Remove ${label}`}\n data-automation-id={`${automationId}-dismiss`}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.6\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n </button>\n )}\n </span>\n )\n);\n\nNLDynamicChip.displayName = 'NLDynamicChip';\n"],"names":["React__default","NLDynamicChip","React","memo","label","fullValue","onDismiss","dismissAriaLabel","automationId","createElement","className","title","viewBox","fill","d","type","onClick","stroke","strokeWidth","strokeLinecap","displayName"],"mappings":"AA2BO,OAAAA,OAAA;AAAA,MAAMC,IAA8CC,gBAAAA,EAAMC,KAC/D,CAAC;AAAA,EAAEC,OAAAA;AAAAA,EAAOC,WAAAA;AAAAA,EAAWC,WAAAA;AAAAA,EAAWC,kBAAAA;AAAAA,EAAkBC,cAAAA,IAAe;AAAkB,MACjFN,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EACEC,WAAU;AAAA,EACVC,OAAON;AAAAA,EACP,sBAAoBG;AAAa,GAEjCN,gBAAAA,EAAAO,cAAA,OAAA;AAAA,EAAKC,WAAU;AAAA,EAAcE,SAAQ;AAAA,EAAYC,MAAK;AAAA,EAAe,eAAY;AAAM,GACrFX,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMK,GAAE;AAA4R,CAAE,GACtSZ,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMK,GAAE;AAAqS,CAAE,CAC5S,GACLZ,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMC,WAAU;AAAwB,GAAEN,CAAY,GACrDE,KACCJ,gBAAAA,EAAAO,cAAA,UAAA;AAAA,EACEM,MAAK;AAAA,EACLL,WAAU;AAAA,EACVM,SAASV;AAAAA,EACT,cAAYC,KAAoB,UAAUH,CAAK;AAAA,EAC/C,sBAAoB,GAAGI,CAAY;AAAW,GAE9CN,gBAAAA,EAAAO,cAAA,OAAA;AAAA,EAAKG,SAAQ;AAAA,EAAYC,MAAK;AAAA,EAAOI,QAAO;AAAA,EAAeC,aAAY;AAAA,EAAMC,eAAc;AAAA,EAAQ,eAAY;AAAM,GACnHjB,gBAAAA,EAAAO,cAAA,QAAA;AAAA,EAAMK,GAAE;AAAsB,CAAE,CAC7B,CACC,CAEN,CAEV;AAEAb,EAAcmB,cAAc;"}
|
package/dist/index50.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { NLDynamicChip as n } from "./index49.js";
|
|
3
|
+
const o = /* @__PURE__ */ e.memo(({
|
|
4
|
+
chips: l,
|
|
5
|
+
onClear: r,
|
|
6
|
+
visible: i,
|
|
7
|
+
clearLabel: t = "Clear AI filters"
|
|
8
|
+
}) => i ? /* @__PURE__ */ e.createElement("div", {
|
|
9
|
+
className: "nl-clear-bar",
|
|
10
|
+
role: "region",
|
|
11
|
+
"aria-label": "Active AI filters"
|
|
12
|
+
}, l.map((a) => /* @__PURE__ */ e.createElement(n, {
|
|
13
|
+
key: a.id,
|
|
14
|
+
label: a.label,
|
|
15
|
+
fullValue: a.fullValue,
|
|
16
|
+
automationId: a.automationId
|
|
17
|
+
})), /* @__PURE__ */ e.createElement("button", {
|
|
18
|
+
type: "button",
|
|
19
|
+
className: "nl-clear-cta",
|
|
20
|
+
onClick: r,
|
|
21
|
+
"data-automation-id": "nl-clear-ai-filters",
|
|
22
|
+
"aria-label": t
|
|
23
|
+
}, /* @__PURE__ */ e.createElement("svg", {
|
|
24
|
+
width: "12",
|
|
25
|
+
height: "12",
|
|
26
|
+
viewBox: "0 0 24 24",
|
|
27
|
+
fill: "none",
|
|
28
|
+
stroke: "currentColor",
|
|
29
|
+
strokeWidth: "2.2",
|
|
30
|
+
strokeLinecap: "round",
|
|
31
|
+
"aria-hidden": "true"
|
|
32
|
+
}, /* @__PURE__ */ e.createElement("path", {
|
|
33
|
+
d: "M18 6 6 18M6 6l12 12"
|
|
34
|
+
})), /* @__PURE__ */ e.createElement("span", null, t))) : null);
|
|
35
|
+
o.displayName = "ClearAiFiltersBar";
|
|
36
|
+
export {
|
|
37
|
+
o as ClearAiFiltersBar
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index50.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index50.js","sources":["../src/components/NLSearch/ClearAiFiltersBar.tsx"],"sourcesContent":["import React from 'react';\nimport { NLDynamicChip, NLDynamicChipProps } from './NLDynamicChip';\n\nexport interface ClearAiFiltersBarProps {\n /** Chips to render — read-only indicators for NL-derived filters that don't have a manual chip. */\n chips: (NLDynamicChipProps & { id: string })[];\n /** Fires the \"snapshot revert\" — caller restores all pre-NL filter state. */\n onClear: () => void;\n /** Show the bar only when an NL search is active. */\n visible: boolean;\n clearLabel?: string;\n}\n\n/**\n * Inline bar that appears under the AI search input when an NL query is\n * active. Renders any dynamic (unknown-key) chips followed by a single\n * \"Clear AI filters\" ✕ CTA. Clicking the CTA reverts the entire NL\n * state to the snapshot captured before the query — same effect as a\n * page refresh, which also wipes NL state by design.\n */\nexport const ClearAiFiltersBar: React.FC<ClearAiFiltersBarProps> = React.memo(\n ({ chips, onClear, visible, clearLabel = 'Clear AI filters' }) => {\n if (!visible) return null;\n return (\n <div className=\"nl-clear-bar\" role=\"region\" aria-label=\"Active AI filters\">\n {chips.map((chip) => (\n <NLDynamicChip key={chip.id} label={chip.label} fullValue={chip.fullValue} automationId={chip.automationId} />\n ))}\n <button\n type=\"button\"\n className=\"nl-clear-cta\"\n onClick={onClear}\n data-automation-id=\"nl-clear-ai-filters\"\n aria-label={clearLabel}\n >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.2\" strokeLinecap=\"round\" aria-hidden=\"true\">\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n <span>{clearLabel}</span>\n </button>\n </div>\n );\n }\n);\n\nClearAiFiltersBar.displayName = 'ClearAiFiltersBar';\n"],"names":["React__default","NLDynamicChip","ClearAiFiltersBar","React","memo","chips","onClear","visible","clearLabel","createElement","className","role","map","chip","key","id","label","fullValue","automationId","type","onClick","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","d","displayName"],"mappings":"AAoBO,OAAAA,OAAA;AAAA,SAAA,iBAAAC,SAAA;AAAA,MAAMC,IAAsDC,gBAAAA,EAAMC,KACvE,CAAC;AAAA,EAAEC,OAAAA;AAAAA,EAAOC,SAAAA;AAAAA,EAASC,SAAAA;AAAAA,EAASC,YAAAA,IAAa;AAAmB,MACrDD,IAEHJ,gBAAAA,EAAAM,cAAA,OAAA;AAAA,EAAKC,WAAU;AAAA,EAAeC,MAAK;AAAA,EAAS,cAAW;AAAA,GACpDN,EAAMO,IAAKC,CAAAA,MACVV,gBAAAA,EAAAM,cAACR,GAAa;AAAA,EAACa,KAAKD,EAAKE;AAAAA,EAAIC,OAAOH,EAAKG;AAAAA,EAAOC,WAAWJ,EAAKI;AAAAA,EAAWC,cAAcL,EAAKK;AAAAA,CAAe,CAC9G,GACDf,gBAAAA,EAAAM,cAAA,UAAA;AAAA,EACEU,MAAK;AAAA,EACLT,WAAU;AAAA,EACVU,SAASd;AAAAA,EACT,sBAAmB;AAAA,EACnB,cAAYE;AAAAA,GAEZL,gBAAAA,EAAAM,cAAA,OAAA;AAAA,EAAKY,OAAM;AAAA,EAAKC,QAAO;AAAA,EAAKC,SAAQ;AAAA,EAAYC,MAAK;AAAA,EAAOC,QAAO;AAAA,EAAeC,aAAY;AAAA,EAAMC,eAAc;AAAA,EAAQ,eAAY;AAAA,GACpIxB,gBAAAA,EAAAM,cAAA,QAAA;AAAA,EAAMmB,GAAE;AAAA,CAAwB,CAC7B,GACLzB,gBAAAA,EAAAM,cAAA,QAAA,MAAOD,CAAiB,CAClB,CACL,IAlBc,IAqBzB;AAEAN,EAAkB2B,cAAc;"}
|