se-design 1.0.90-dev.0 → 1.0.91-r-dev.1

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.
Files changed (479) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/AnchoredOverlay/index.d.ts +41 -0
  3. package/dist/components/NLSearch/ClearAiFiltersBar.d.ts +21 -0
  4. package/dist/components/NLSearch/NLDynamicChip.d.ts +26 -0
  5. package/dist/components/NLSearch/NLSearchInput.d.ts +46 -0
  6. package/dist/components/NLSearch/index.d.ts +6 -0
  7. package/dist/components/index.d.ts +4 -0
  8. package/dist/index.js +161 -152
  9. package/dist/index.js.map +1 -1
  10. package/dist/index100.js +1 -1
  11. package/dist/index100.js.map +1 -1
  12. package/dist/index101.js +1 -1
  13. package/dist/index101.js.map +1 -1
  14. package/dist/index102.js +1 -1
  15. package/dist/index102.js.map +1 -1
  16. package/dist/index103.js +1 -1
  17. package/dist/index103.js.map +1 -1
  18. package/dist/index104.js +1 -1
  19. package/dist/index104.js.map +1 -1
  20. package/dist/index105.js +1 -1
  21. package/dist/index105.js.map +1 -1
  22. package/dist/index106.js +1 -1
  23. package/dist/index106.js.map +1 -1
  24. package/dist/index107.js +1 -1
  25. package/dist/index107.js.map +1 -1
  26. package/dist/index108.js +1 -1
  27. package/dist/index108.js.map +1 -1
  28. package/dist/index109.js +1 -1
  29. package/dist/index109.js.map +1 -1
  30. package/dist/index11.js +1 -1
  31. package/dist/index110.js +1 -1
  32. package/dist/index110.js.map +1 -1
  33. package/dist/index111.js +1 -1
  34. package/dist/index111.js.map +1 -1
  35. package/dist/index112.js +1 -1
  36. package/dist/index112.js.map +1 -1
  37. package/dist/index113.js +1 -1
  38. package/dist/index113.js.map +1 -1
  39. package/dist/index114.js +2 -2
  40. package/dist/index114.js.map +1 -1
  41. package/dist/index115.js +2 -2
  42. package/dist/index115.js.map +1 -1
  43. package/dist/index116.js +1 -1
  44. package/dist/index116.js.map +1 -1
  45. package/dist/index117.js +1 -1
  46. package/dist/index117.js.map +1 -1
  47. package/dist/index118.js +1 -1
  48. package/dist/index118.js.map +1 -1
  49. package/dist/index119.js +1 -1
  50. package/dist/index119.js.map +1 -1
  51. package/dist/index12.js +3 -3
  52. package/dist/index120.js +1 -1
  53. package/dist/index120.js.map +1 -1
  54. package/dist/index121.js +1 -1
  55. package/dist/index121.js.map +1 -1
  56. package/dist/index122.js +1 -1
  57. package/dist/index122.js.map +1 -1
  58. package/dist/index123.js +1 -1
  59. package/dist/index123.js.map +1 -1
  60. package/dist/index124.js +2 -2
  61. package/dist/index124.js.map +1 -1
  62. package/dist/index125.js +2 -2
  63. package/dist/index125.js.map +1 -1
  64. package/dist/index126.js +2 -2
  65. package/dist/index126.js.map +1 -1
  66. package/dist/index127.js +2 -2
  67. package/dist/index127.js.map +1 -1
  68. package/dist/index128.js +2 -2
  69. package/dist/index128.js.map +1 -1
  70. package/dist/index129.js +1 -1
  71. package/dist/index129.js.map +1 -1
  72. package/dist/index13.js +3 -3
  73. package/dist/index130.js +1 -1
  74. package/dist/index130.js.map +1 -1
  75. package/dist/index131.js +2 -2
  76. package/dist/index131.js.map +1 -1
  77. package/dist/index132.js +2 -2
  78. package/dist/index132.js.map +1 -1
  79. package/dist/index133.js +2 -2
  80. package/dist/index133.js.map +1 -1
  81. package/dist/index134.js +1 -1
  82. package/dist/index134.js.map +1 -1
  83. package/dist/index135.js +1 -1
  84. package/dist/index135.js.map +1 -1
  85. package/dist/index136.js +2 -2
  86. package/dist/index136.js.map +1 -1
  87. package/dist/index137.js +2 -2
  88. package/dist/index137.js.map +1 -1
  89. package/dist/index138.js +1 -1
  90. package/dist/index138.js.map +1 -1
  91. package/dist/index139.js +1 -1
  92. package/dist/index139.js.map +1 -1
  93. package/dist/index140.js +1 -1
  94. package/dist/index140.js.map +1 -1
  95. package/dist/index141.js +2 -2
  96. package/dist/index141.js.map +1 -1
  97. package/dist/index142.js +2 -2
  98. package/dist/index142.js.map +1 -1
  99. package/dist/index143.js +1 -1
  100. package/dist/index143.js.map +1 -1
  101. package/dist/index144.js +1 -1
  102. package/dist/index144.js.map +1 -1
  103. package/dist/index145.js +1 -1
  104. package/dist/index145.js.map +1 -1
  105. package/dist/index146.js +1 -1
  106. package/dist/index146.js.map +1 -1
  107. package/dist/index147.js +2 -2
  108. package/dist/index147.js.map +1 -1
  109. package/dist/index148.js +1 -1
  110. package/dist/index148.js.map +1 -1
  111. package/dist/index149.js +1 -1
  112. package/dist/index149.js.map +1 -1
  113. package/dist/index150.js +1 -1
  114. package/dist/index150.js.map +1 -1
  115. package/dist/index151.js +1 -1
  116. package/dist/index151.js.map +1 -1
  117. package/dist/index152.js +2 -2
  118. package/dist/index152.js.map +1 -1
  119. package/dist/index153.js +1 -1
  120. package/dist/index153.js.map +1 -1
  121. package/dist/index154.js +1 -1
  122. package/dist/index154.js.map +1 -1
  123. package/dist/index155.js +1 -1
  124. package/dist/index155.js.map +1 -1
  125. package/dist/index156.js +2 -2
  126. package/dist/index156.js.map +1 -1
  127. package/dist/index157.js +2 -2
  128. package/dist/index157.js.map +1 -1
  129. package/dist/index158.js +1 -1
  130. package/dist/index158.js.map +1 -1
  131. package/dist/index159.js +2 -2
  132. package/dist/index159.js.map +1 -1
  133. package/dist/index16.js +3 -3
  134. package/dist/index160.js +2 -2
  135. package/dist/index160.js.map +1 -1
  136. package/dist/index161.js +2 -2
  137. package/dist/index161.js.map +1 -1
  138. package/dist/index162.js +2 -2
  139. package/dist/index162.js.map +1 -1
  140. package/dist/index163.js +1 -1
  141. package/dist/index163.js.map +1 -1
  142. package/dist/index164.js +2 -2
  143. package/dist/index164.js.map +1 -1
  144. package/dist/index165.js +2 -2
  145. package/dist/index165.js.map +1 -1
  146. package/dist/index166.js +1 -1
  147. package/dist/index166.js.map +1 -1
  148. package/dist/index167.js +1 -1
  149. package/dist/index167.js.map +1 -1
  150. package/dist/index168.js +1 -1
  151. package/dist/index168.js.map +1 -1
  152. package/dist/index169.js +1 -1
  153. package/dist/index169.js.map +1 -1
  154. package/dist/index170.js +1 -1
  155. package/dist/index170.js.map +1 -1
  156. package/dist/index171.js +1 -1
  157. package/dist/index171.js.map +1 -1
  158. package/dist/index172.js +1 -1
  159. package/dist/index172.js.map +1 -1
  160. package/dist/index173.js +1 -1
  161. package/dist/index173.js.map +1 -1
  162. package/dist/index174.js +1 -1
  163. package/dist/index174.js.map +1 -1
  164. package/dist/index175.js +1 -1
  165. package/dist/index175.js.map +1 -1
  166. package/dist/index176.js +1 -1
  167. package/dist/index176.js.map +1 -1
  168. package/dist/index177.js +1 -1
  169. package/dist/index177.js.map +1 -1
  170. package/dist/index178.js +1 -1
  171. package/dist/index178.js.map +1 -1
  172. package/dist/index179.js +1 -1
  173. package/dist/index179.js.map +1 -1
  174. package/dist/index18.js +3 -3
  175. package/dist/index180.js +1 -1
  176. package/dist/index180.js.map +1 -1
  177. package/dist/index181.js +1 -1
  178. package/dist/index181.js.map +1 -1
  179. package/dist/index182.js +1 -1
  180. package/dist/index182.js.map +1 -1
  181. package/dist/index183.js +1 -1
  182. package/dist/index183.js.map +1 -1
  183. package/dist/index184.js +1 -1
  184. package/dist/index184.js.map +1 -1
  185. package/dist/index185.js +1 -1
  186. package/dist/index185.js.map +1 -1
  187. package/dist/index186.js +2 -2
  188. package/dist/index186.js.map +1 -1
  189. package/dist/index187.js +1 -1
  190. package/dist/index187.js.map +1 -1
  191. package/dist/index188.js +1 -1
  192. package/dist/index188.js.map +1 -1
  193. package/dist/index189.js +1 -1
  194. package/dist/index189.js.map +1 -1
  195. package/dist/index19.js +5 -5
  196. package/dist/index190.js +2 -2
  197. package/dist/index190.js.map +1 -1
  198. package/dist/index191.js +2 -2
  199. package/dist/index191.js.map +1 -1
  200. package/dist/index192.js +1 -1
  201. package/dist/index192.js.map +1 -1
  202. package/dist/index193.js +1 -1
  203. package/dist/index193.js.map +1 -1
  204. package/dist/index194.js +1 -1
  205. package/dist/index194.js.map +1 -1
  206. package/dist/index195.js +2 -2
  207. package/dist/index195.js.map +1 -1
  208. package/dist/index196.js +1 -1
  209. package/dist/index196.js.map +1 -1
  210. package/dist/index197.js +1 -1
  211. package/dist/index197.js.map +1 -1
  212. package/dist/index198.js +1 -1
  213. package/dist/index198.js.map +1 -1
  214. package/dist/index199.js +1 -1
  215. package/dist/index199.js.map +1 -1
  216. package/dist/index20.js +96 -18
  217. package/dist/index20.js.map +1 -1
  218. package/dist/index200.js +1 -1
  219. package/dist/index200.js.map +1 -1
  220. package/dist/index201.js +2 -2
  221. package/dist/index201.js.map +1 -1
  222. package/dist/index202.js +1 -1
  223. package/dist/index202.js.map +1 -1
  224. package/dist/index203.js +2 -2
  225. package/dist/index203.js.map +1 -1
  226. package/dist/index204.js +2 -149
  227. package/dist/index204.js.map +1 -1
  228. package/dist/index205.js +2 -9
  229. package/dist/index205.js.map +1 -1
  230. package/dist/index206.js +2 -6
  231. package/dist/index206.js.map +1 -1
  232. package/dist/index207.js +2 -43
  233. package/dist/index207.js.map +1 -1
  234. package/dist/index208.js +2 -21
  235. package/dist/index208.js.map +1 -1
  236. package/dist/index209.js +152 -0
  237. package/dist/index209.js.map +1 -0
  238. package/dist/index21.js +17 -32
  239. package/dist/index21.js.map +1 -1
  240. package/dist/index210.js +12 -0
  241. package/dist/index210.js.map +1 -0
  242. package/dist/index211.js +9 -0
  243. package/dist/index211.js.map +1 -0
  244. package/dist/index212.js +46 -0
  245. package/dist/index212.js.map +1 -0
  246. package/dist/index213.js +24 -0
  247. package/dist/index213.js.map +1 -0
  248. package/dist/index22.js +33 -66
  249. package/dist/index22.js.map +1 -1
  250. package/dist/{index215.js → index220.js} +1 -1
  251. package/dist/{index215.js.map → index220.js.map} +1 -1
  252. package/dist/{index216.js → index221.js} +3 -3
  253. package/dist/{index216.js.map → index221.js.map} +1 -1
  254. package/dist/{index223.js → index228.js} +1 -1
  255. package/dist/{index223.js.map → index228.js.map} +1 -1
  256. package/dist/index23.js +62 -83
  257. package/dist/index23.js.map +1 -1
  258. package/dist/{index225.js → index230.js} +1 -1
  259. package/dist/{index225.js.map → index230.js.map} +1 -1
  260. package/dist/{index233.js → index238.js} +1 -1
  261. package/dist/{index233.js.map → index238.js.map} +1 -1
  262. package/dist/index24.js +85 -21
  263. package/dist/index24.js.map +1 -1
  264. package/dist/{index236.js → index241.js} +1 -1
  265. package/dist/{index236.js.map → index241.js.map} +1 -1
  266. package/dist/index25.js +19 -401
  267. package/dist/index25.js.map +1 -1
  268. package/dist/index250.js +169 -9
  269. package/dist/index250.js.map +1 -1
  270. package/dist/index251.js +3 -4
  271. package/dist/index251.js.map +1 -1
  272. package/dist/index253.js +19 -11
  273. package/dist/index253.js.map +1 -1
  274. package/dist/index254.js +9 -5
  275. package/dist/index254.js.map +1 -1
  276. package/dist/index255.js +9 -5
  277. package/dist/index255.js.map +1 -1
  278. package/dist/index256.js +4 -37
  279. package/dist/index256.js.map +1 -1
  280. package/dist/index257.js +170 -2
  281. package/dist/index257.js.map +1 -1
  282. package/dist/index258.js +11 -8
  283. package/dist/index258.js.map +1 -1
  284. package/dist/index259.js +5 -326
  285. package/dist/index259.js.map +1 -1
  286. package/dist/index26.js +400 -44
  287. package/dist/index26.js.map +1 -1
  288. package/dist/index260.js +5 -49
  289. package/dist/index260.js.map +1 -1
  290. package/dist/index261.js +38 -2
  291. package/dist/index261.js.map +1 -1
  292. package/dist/index262.js +2 -76
  293. package/dist/index262.js.map +1 -1
  294. package/dist/index263.js +7 -92
  295. package/dist/index263.js.map +1 -1
  296. package/dist/index264.js +322 -47
  297. package/dist/index264.js.map +1 -1
  298. package/dist/index265.js +49 -7
  299. package/dist/index265.js.map +1 -1
  300. package/dist/index266.js +2 -5
  301. package/dist/index266.js.map +1 -1
  302. package/dist/index267.js +72 -48
  303. package/dist/index267.js.map +1 -1
  304. package/dist/index268.js +93 -2
  305. package/dist/index268.js.map +1 -1
  306. package/dist/index269.js +52 -2
  307. package/dist/index269.js.map +1 -1
  308. package/dist/index27.js +48 -23
  309. package/dist/index27.js.map +1 -1
  310. package/dist/index270.js +11 -0
  311. package/dist/index270.js.map +1 -0
  312. package/dist/index271.js +8 -0
  313. package/dist/index271.js.map +1 -0
  314. package/dist/index272.js +55 -0
  315. package/dist/index272.js.map +1 -0
  316. package/dist/index273.js +5 -0
  317. package/dist/index273.js.map +1 -0
  318. package/dist/index274.js +5 -0
  319. package/dist/index274.js.map +1 -0
  320. package/dist/index28.js +21 -108
  321. package/dist/index28.js.map +1 -1
  322. package/dist/index29.js +107 -147
  323. package/dist/index29.js.map +1 -1
  324. package/dist/index3.js +3 -3
  325. package/dist/index30.js +146 -132
  326. package/dist/index30.js.map +1 -1
  327. package/dist/index31.js +136 -76
  328. package/dist/index31.js.map +1 -1
  329. package/dist/index32.js +73 -94
  330. package/dist/index32.js.map +1 -1
  331. package/dist/index33.js +96 -73
  332. package/dist/index33.js.map +1 -1
  333. package/dist/index34.js +72 -38
  334. package/dist/index34.js.map +1 -1
  335. package/dist/index35.js +40 -72
  336. package/dist/index35.js.map +1 -1
  337. package/dist/index36.js +68 -94
  338. package/dist/index36.js.map +1 -1
  339. package/dist/index37.js +98 -77
  340. package/dist/index37.js.map +1 -1
  341. package/dist/index38.js +75 -311
  342. package/dist/index38.js.map +1 -1
  343. package/dist/index39.js +313 -75
  344. package/dist/index39.js.map +1 -1
  345. package/dist/index4.js +4 -4
  346. package/dist/index40.js +72 -79
  347. package/dist/index40.js.map +1 -1
  348. package/dist/index41.js +82 -32
  349. package/dist/index41.js.map +1 -1
  350. package/dist/index42.js +26 -43
  351. package/dist/index42.js.map +1 -1
  352. package/dist/index43.js +49 -109
  353. package/dist/index43.js.map +1 -1
  354. package/dist/index44.js +105 -50
  355. package/dist/index44.js.map +1 -1
  356. package/dist/index45.js +53 -142
  357. package/dist/index45.js.map +1 -1
  358. package/dist/index46.js +137 -188
  359. package/dist/index46.js.map +1 -1
  360. package/dist/index47.js +199 -36
  361. package/dist/index47.js.map +1 -1
  362. package/dist/index48.js +40 -36
  363. package/dist/index48.js.map +1 -1
  364. package/dist/index49.js +36 -149
  365. package/dist/index49.js.map +1 -1
  366. package/dist/index51.js +188 -451
  367. package/dist/index51.js.map +1 -1
  368. package/dist/index52.js +38 -98
  369. package/dist/index52.js.map +1 -1
  370. package/dist/index53.js +33 -40
  371. package/dist/index53.js.map +1 -1
  372. package/dist/index54.js +151 -36
  373. package/dist/index54.js.map +1 -1
  374. package/dist/index55.js +82 -88
  375. package/dist/index55.js.map +1 -1
  376. package/dist/index56.js +452 -154
  377. package/dist/index56.js.map +1 -1
  378. package/dist/index57.js +97 -148
  379. package/dist/index57.js.map +1 -1
  380. package/dist/index58.js +43 -33
  381. package/dist/index58.js.map +1 -1
  382. package/dist/index59.js +34 -82
  383. package/dist/index59.js.map +1 -1
  384. package/dist/index6.js +125 -125
  385. package/dist/index60.js +87 -113
  386. package/dist/index60.js.map +1 -1
  387. package/dist/index61.js +156 -71
  388. package/dist/index61.js.map +1 -1
  389. package/dist/index62.js +144 -147
  390. package/dist/index62.js.map +1 -1
  391. package/dist/index63.js +30 -315
  392. package/dist/index63.js.map +1 -1
  393. package/dist/index64.js +83 -44
  394. package/dist/index64.js.map +1 -1
  395. package/dist/index65.js +113 -138
  396. package/dist/index65.js.map +1 -1
  397. package/dist/index66.js +77 -11
  398. package/dist/index66.js.map +1 -1
  399. package/dist/index67.js +151 -54
  400. package/dist/index67.js.map +1 -1
  401. package/dist/index68.js +312 -107
  402. package/dist/index68.js.map +1 -1
  403. package/dist/index69.js +45 -17
  404. package/dist/index69.js.map +1 -1
  405. package/dist/index7.js +10 -9
  406. package/dist/index70.js +142 -63
  407. package/dist/index70.js.map +1 -1
  408. package/dist/index71.js +10 -25
  409. package/dist/index71.js.map +1 -1
  410. package/dist/index72.js +51 -104
  411. package/dist/index72.js.map +1 -1
  412. package/dist/index73.js +106 -55
  413. package/dist/index73.js.map +1 -1
  414. package/dist/index74.js +17 -19
  415. package/dist/index74.js.map +1 -1
  416. package/dist/index75.js +63 -168
  417. package/dist/index75.js.map +1 -1
  418. package/dist/index76.js +27 -18
  419. package/dist/index76.js.map +1 -1
  420. package/dist/index77.js +107 -10
  421. package/dist/index77.js.map +1 -1
  422. package/dist/index78.js +62 -5
  423. package/dist/index78.js.map +1 -1
  424. package/dist/index79.js +18 -59
  425. package/dist/index79.js.map +1 -1
  426. package/dist/index80.js +170 -26
  427. package/dist/index80.js.map +1 -1
  428. package/dist/index81.js +18 -11
  429. package/dist/index81.js.map +1 -1
  430. package/dist/index82.js +14 -0
  431. package/dist/index82.js.map +1 -0
  432. package/dist/index83.js +5 -2
  433. package/dist/index83.js.map +1 -1
  434. package/dist/index84.js +62 -2
  435. package/dist/index84.js.map +1 -1
  436. package/dist/index85.js +27 -2
  437. package/dist/index85.js.map +1 -1
  438. package/dist/index86.js +11 -2
  439. package/dist/index86.js.map +1 -1
  440. package/dist/index88.js +2 -2
  441. package/dist/index88.js.map +1 -1
  442. package/dist/index89.js +2 -2
  443. package/dist/index89.js.map +1 -1
  444. package/dist/index9.js +4 -4
  445. package/dist/index90.js +1 -1
  446. package/dist/index90.js.map +1 -1
  447. package/dist/index91.js +2 -2
  448. package/dist/index91.js.map +1 -1
  449. package/dist/index92.js +1 -1
  450. package/dist/index92.js.map +1 -1
  451. package/dist/index93.js +1 -1
  452. package/dist/index93.js.map +1 -1
  453. package/dist/index94.js +1 -1
  454. package/dist/index94.js.map +1 -1
  455. package/dist/index95.js +1 -1
  456. package/dist/index95.js.map +1 -1
  457. package/dist/index96.js +1 -1
  458. package/dist/index96.js.map +1 -1
  459. package/dist/index97.js +1 -1
  460. package/dist/index97.js.map +1 -1
  461. package/dist/index98.js +1 -1
  462. package/dist/index98.js.map +1 -1
  463. package/dist/index99.js +1 -1
  464. package/dist/index99.js.map +1 -1
  465. package/package.json +1 -1
  466. package/dist/index245.js +0 -173
  467. package/dist/index245.js.map +0 -1
  468. package/dist/index246.js +0 -7
  469. package/dist/index246.js.map +0 -1
  470. package/dist/index248.js +0 -22
  471. package/dist/index248.js.map +0 -1
  472. package/dist/index249.js +0 -13
  473. package/dist/index249.js.map +0 -1
  474. package/dist/index252.js +0 -173
  475. package/dist/index252.js.map +0 -1
  476. package/dist/index50.js +0 -89
  477. package/dist/index50.js.map +0 -1
  478. package/dist/index87.js +0 -5
  479. package/dist/index87.js.map +0 -1
package/dist/index28.js CHANGED
@@ -1,114 +1,27 @@
1
- import i, { useMemo as K, useRef as j, useEffect as m } from "react";
2
- import { Icon as M } from "./index6.js";
3
- import { getA11yNameAttributes as $ } from "./index81.js";
4
- import { useFocusTrap as k } from "./index72.js";
5
- import { useDismissOnEscape as z } from "./index215.js";
6
- import { useFocusSentinel as T } from "./index216.js";
1
+ import e from "react";
2
+ import { ShimmerLoader as c } from "./index60.js";
7
3
  /* empty css */
8
- function u() {
9
- return u = Object.assign ? Object.assign.bind() : function(s) {
10
- for (var n = 1; n < arguments.length; n++) {
11
- var o = arguments[n];
12
- for (var r in o) ({}).hasOwnProperty.call(o, r) && (s[r] = o[r]);
13
- }
14
- return s;
15
- }, u.apply(null, arguments);
16
- }
17
- const W = (s) => {
4
+ const f = (r) => {
18
5
  const {
19
- content: n,
20
- className: o = "",
21
- alignment: r,
22
- noShadow: E,
23
- position: f = "fixed",
24
- isOpen: e,
25
- displayCloseSidebar: R,
26
- onClose: l,
27
- onSidebarUnmount: b,
28
- onPathChange: y,
29
- style: d,
30
- automationId: C,
31
- id: N,
32
- currentPath: p = "",
33
- closeSidebarIcon: D = "close",
34
- closeAriaLabel: O = "Close sidebar",
35
- animateSidebar: P = !0,
36
- a11yRole: x,
37
- ariaLabel: g,
38
- ariaLabelledBy: v,
39
- ariaDescribedBy: h,
40
- returnFocusRef: w
41
- } = s, S = x ?? "complementary", t = S === "dialog", F = K(() => $({
42
- ariaLabel: g,
43
- ariaLabelledBy: v,
44
- ariaDescribedBy: h
45
- }), [g, v, h]), c = j(null);
46
- m(() => () => {
47
- b && b();
48
- }, []), m(() => {
49
- if (t)
50
- return document.body.style.overflow = e ? "hidden" : "", () => {
51
- document.body.style.overflow = "";
52
- };
53
- }, [e, t]), m(() => {
54
- y && y(p);
55
- }, [p]);
56
- const {
57
- onKeyDown: I
58
- } = z({
59
- onDismiss: l,
60
- enabled: e
61
- });
62
- k({
63
- enabled: !!(t && e && l),
64
- containerRef: c,
65
- restoreFocus: !0,
66
- initialFocus: "first",
67
- returnFocusRef: w
68
- });
69
- const {
70
- startSentinelProps: _,
71
- endSentinelProps: A
72
- } = T({
73
- isOpen: e,
74
- isModal: t,
75
- containerRef: c,
76
- returnFocusRef: w
77
- }), L = () => {
78
- let a = "se-design-sidebar-overlay-container z-[1000]";
79
- return a += o.length > 0 ? ` ${o}` : "", a += r === "left" ? " left-aligned" : " right-aligned", a += E ? " no-shadow" : "", a += f.length > 0 ? ` ${f}` : "", a += e ? " open-sidebar" : " closed-sidebar", P || (a += e ? "" : " hidden"), a;
80
- }, B = () => ({
81
- ...d,
82
- ...e && d?.width ? {
83
- width: d?.width
84
- } : {
85
- width: "0px"
86
- }
87
- });
88
- return /* @__PURE__ */ i.createElement("div", u({
89
- ref: c,
90
- id: N,
91
- className: L(),
92
- style: B(),
93
- "data-automation-id": C,
94
- tabIndex: -1,
95
- role: S,
96
- "aria-modal": t ? "true" : void 0,
97
- "aria-hidden": e ? void 0 : "true"
98
- }, F, {
99
- onKeyDown: I,
100
- inert: e ? void 0 : ""
101
- }), /* @__PURE__ */ i.createElement("div", {
102
- className: "overlay-content"
103
- }, !t && /* @__PURE__ */ i.createElement("div", _), R && /* @__PURE__ */ i.createElement(M, {
104
- name: D,
105
- onClick: l,
106
- className: "overlay-close",
107
- ariaLabel: O,
108
- automationId: "sidebar_overlay_close"
109
- }), n, !t && /* @__PURE__ */ i.createElement("div", A)));
6
+ noOfRows: o = 2,
7
+ noOfColumns: a = 4,
8
+ colSpan: n = [2, 0, 0]
9
+ } = r;
10
+ return [...Array(o)].map((l, m) => /* @__PURE__ */ e.createElement("tr", {
11
+ key: `tr-${m}`,
12
+ className: "se-design-table-content-loader"
13
+ }, [...Array(a)].map((p, t) => /* @__PURE__ */ e.createElement("td", {
14
+ colSpan: n[t],
15
+ key: `td-${t}`
16
+ }, /* @__PURE__ */ e.createElement(c, {
17
+ structure: [{
18
+ type: "text",
19
+ width: "80%",
20
+ height: 20
21
+ }]
22
+ })))));
110
23
  };
111
24
  export {
112
- W as SidebarOverlay
25
+ f as TableContentLoader
113
26
  };
114
27
  //# sourceMappingURL=index28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index28.js","sources":["../src/components/SidebarOverlay/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useMemo, useRef } from 'react';\nimport { Icon } from 'components/Icon';\nimport { getA11yNameAttributes, useFocusTrap, useDismissOnEscape } from '../../utils/a11y';\nimport { useFocusSentinel } from '../../utils/a11y/useFocusSentinel';\n\nimport './style.scss';\n\ntype SidebarOverlayA11yRole = 'dialog' | 'complementary';\n\nexport interface SidebarOverlayProps {\n content: React.ReactNode;\n className?: string;\n alignment?: 'left' | 'right';\n style?: React.CSSProperties;\n noShadow?: boolean;\n automationId?: string;\n id?: string;\n position?: 'absolute' | 'fixed' | 'relative' | 'static' | '';\n isOpen?: boolean;\n displayCloseSidebar?: boolean;\n closeSidebarIcon?: string;\n /**\n * Accessible label for the close button. Defaults to 'Close sidebar'.\n */\n closeAriaLabel?: string;\n onClose?: () => void;\n onSidebarUnmount?: () => void;\n onPathChange?: (route: string) => void;\n currentPath?: string;\n animateSidebar?: boolean;\n /**\n * Accessibility role that determines the full behavior bundle.\n * - 'dialog': modal drawer (focus trap, scroll lock, aria-modal, Escape closes)\n * - 'complementary': persistent side panel (no trap, no forced focus, no scroll lock)\n * If not provided, derives from position: fixed|absolute → 'dialog', static|relative|'' → 'complementary'\n */\n a11yRole?: SidebarOverlayA11yRole;\n /**\n * Accessible name when no visible label exists.\n * Prefer ariaLabelledBy when a visible title exists inside the sidebar.\n */\n ariaLabel?: string;\n /**\n * ID(s) of visible element(s) that label this sidebar.\n * Preferred over ariaLabel when a visible title exists (keeps SR and visual text in sync).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this sidebar (additional context).\n */\n ariaDescribedBy?: string;\n /**\n * Explicit element to restore focus to when the sidebar closes.\n * Overrides automatic trigger capture from document.activeElement.\n * Use when the opener element is known (e.g. a ref on the toggle button).\n * In complementary mode: seeds the trigger ref directly.\n * In dialog mode: passed through to useFocusTrap.\n */\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const SidebarOverlay: FC<SidebarOverlayProps> = (props) => {\n const {\n content,\n className = '',\n alignment,\n noShadow,\n position = 'fixed',\n isOpen,\n displayCloseSidebar,\n onClose,\n onSidebarUnmount,\n onPathChange,\n style,\n automationId,\n id,\n currentPath = '',\n closeSidebarIcon = 'close',\n closeAriaLabel = 'Close sidebar',\n animateSidebar = true,\n a11yRole,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n returnFocusRef,\n } = props;\n\n // Default to complementary — consumers opt into dialog (focus trap + scroll lock)\n // by passing a11yRole=\"dialog\" explicitly.\n const effectiveA11yRole: SidebarOverlayA11yRole = a11yRole ?? 'complementary';\n\n const isModal = effectiveA11yRole === 'dialog';\n\n // Get accessible name attributes\n const accessibleNameProps = useMemo(\n () => getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy }),\n [ariaLabel, ariaLabelledBy, ariaDescribedBy]\n );\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n return () => {\n onSidebarUnmount && onSidebarUnmount();\n };\n }, []);\n\n // Scroll lock — modal only.\n useEffect(() => {\n if (!isModal) return;\n document.body.style.overflow = isOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isOpen, isModal]);\n\n useEffect(() => {\n onPathChange && onPathChange(currentPath);\n }, [currentPath]);\n\n const { onKeyDown: onEscapeKeyDown } = useDismissOnEscape({\n onDismiss: onClose,\n enabled: isOpen\n });\n\n // Focus trap: modal mode only, guarded by onClose as a WCAG safety net —\n // trapping focus without a dismiss path is a keyboard trap (WCAG 2.1.2).\n useFocusTrap({\n enabled: Boolean(isModal && isOpen && !!onClose),\n containerRef: sidebarRef,\n restoreFocus: true,\n initialFocus: 'first',\n returnFocusRef,\n });\n\n // Complementary (non-modal) focus management: move focus in on open,\n // restore to trigger on close, wrap Tab/Shift+Tab at panel boundaries.\n const { startSentinelProps, endSentinelProps } = useFocusSentinel({\n isOpen,\n isModal,\n containerRef: sidebarRef,\n returnFocusRef,\n });\n\n const getSidebarClassName = () => {\n let defaultClass = `se-design-sidebar-overlay-container z-[1000]`;\n\n defaultClass += className.length > 0 ? ` ${className}` : '';\n defaultClass += alignment === 'left' ? ' left-aligned' : ' right-aligned';\n defaultClass += noShadow ? ' no-shadow' : '';\n defaultClass += position.length > 0 ? ` ${position}` : '';\n defaultClass += isOpen ? ' open-sidebar' : ' closed-sidebar';\n if(!animateSidebar) {\n defaultClass += isOpen ? '' : ' hidden';\n }\n return defaultClass;\n };\n\n const getSidebarStyle = () => {\n return {\n ...style,\n ...(isOpen && style?.width ? { width: style?.width } : { width: '0px' })\n };\n };\n\n return (\n <div\n ref={sidebarRef}\n id={id}\n className={getSidebarClassName()}\n style={getSidebarStyle()}\n data-automation-id={automationId}\n tabIndex={-1}\n role={effectiveA11yRole}\n aria-modal={isModal ? 'true' : undefined}\n aria-hidden={!isOpen ? 'true' : undefined}\n {...accessibleNameProps}\n onKeyDown={onEscapeKeyDown}\n inert={!isOpen ? ('' as unknown as boolean) : undefined}\n >\n <div className=\"overlay-content\">\n {!isModal && <div {...startSentinelProps} />}\n {displayCloseSidebar && (\n <Icon\n name={closeSidebarIcon}\n onClick={onClose}\n className=\"overlay-close\"\n ariaLabel={closeAriaLabel}\n automationId=\"sidebar_overlay_close\"\n />\n )}\n {content}\n {!isModal && <div {...endSentinelProps} />}\n </div>\n </div>\n );\n};\n"],"names":["SidebarOverlay","props","content","className","alignment","noShadow","position","isOpen","displayCloseSidebar","onClose","onSidebarUnmount","onPathChange","style","automationId","id","currentPath","closeSidebarIcon","closeAriaLabel","animateSidebar","a11yRole","ariaLabel","ariaLabelledBy","ariaDescribedBy","returnFocusRef","effectiveA11yRole","isModal","accessibleNameProps","useMemo","getA11yNameAttributes","sidebarRef","useRef","useEffect","document","body","overflow","onKeyDown","onEscapeKeyDown","useDismissOnEscape","onDismiss","enabled","useFocusTrap","Boolean","containerRef","restoreFocus","initialFocus","startSentinelProps","endSentinelProps","useFocusSentinel","getSidebarClassName","defaultClass","length","getSidebarStyle","width","React","createElement","_extends","ref","tabIndex","role","undefined","inert","Icon","name","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"index28.js","sources":["../src/components/TableContentLoader/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ShimmerLoader } from 'components/ShimmerLoader';\nimport './style.scss';\n\nexport interface TableContentLoaderProps {\n noOfRows?: number;\n noOfColumns?: number;\n colSpan?: number[];\n}\n\nexport const TableContentLoader: FC<TableContentLoaderProps> = (props) => {\n const { noOfRows = 2, noOfColumns = 4, colSpan = [2, 0, 0] } = props;\n\n return [...Array(noOfRows)].map((_, index) => (\n <tr key={`tr-${index}`} className=\"se-design-table-content-loader\">\n {[...Array(noOfColumns)].map((_, idx) => (\n <td colSpan={colSpan[idx]} key={`td-${idx}`}>\n <ShimmerLoader\n structure={[{ type: 'text', width: '80%', height: 20 }]}\n />\n </td>\n ))}\n </tr>\n ));\n};\n"],"names":["React__default","ShimmerLoader","TableContentLoader","props","noOfRows","noOfColumns","colSpan","Array","map","_","index","React","createElement","key","className","idx","structure","type","width","height"],"mappings":"AAUO,OAAAA,OAAA;AAAA,SAAA,iBAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAAmDC,CAAAA,MAAU;AACxE,QAAM;AAAA,IAAEC,UAAAA,IAAW;AAAA,IAAGC,aAAAA,IAAc;AAAA,IAAGC,SAAAA,IAAU,CAAC,GAAG,GAAG,CAAC;AAAA,EAAA,IAAMH;AAE/D,SAAO,CAAC,GAAGI,MAAMH,CAAQ,CAAC,EAAEI,IAAI,CAACC,GAAGC,MAClCC,gBAAAA,EAAAC,cAAA,MAAA;AAAA,IAAIC,KAAK,MAAMH,CAAK;AAAA,IAAII,WAAU;AAAA,EAAA,GAC/B,CAAC,GAAGP,MAAMF,CAAW,CAAC,EAAEG,IAAI,CAACC,GAAGM,MAC/BJ,gBAAAA,EAAAC,cAAA,MAAA;AAAA,IAAIN,SAASA,EAAQS,CAAG;AAAA,IAAGF,KAAK,MAAME,CAAG;AAAA,EAAA,GACvCJ,gBAAAA,EAAAC,cAACX,GAAa;AAAA,IACZe,WAAW,CAAC;AAAA,MAAEC,MAAM;AAAA,MAAQC,OAAO;AAAA,MAAOC,QAAQ;AAAA,IAAA,CAAI;AAAA,EAAA,CACvD,CACC,CACL,CACC,CACL;AACH;"}
package/dist/index29.js CHANGED
@@ -1,154 +1,114 @@
1
- import t, { useState as L, useMemo as z, useRef as O, useEffect as H } from "react";
2
- import { Icon as A } from "./index6.js";
3
- import { Popover as U } from "./index19.js";
4
- import { MenuList as V } from "./index18.js";
5
- import { useStableId as q } from "./index206.js";
6
- import "./index72.js";
7
- import { useTabsA11y as G, getPanelId as J } from "./index73.js";
1
+ import i, { useMemo as K, useRef as j, useEffect as m } from "react";
2
+ import { Icon as M } from "./index6.js";
3
+ import { getA11yNameAttributes as $ } from "./index86.js";
4
+ import { useFocusTrap as k } from "./index77.js";
5
+ import { useDismissOnEscape as z } from "./index220.js";
6
+ import { useFocusSentinel as T } from "./index221.js";
8
7
  /* empty css */
9
- function d() {
10
- return d = Object.assign ? Object.assign.bind() : function(i) {
11
- for (var o = 1; o < arguments.length; o++) {
12
- var m = arguments[o];
13
- for (var u in m) ({}).hasOwnProperty.call(m, u) && (i[u] = m[u]);
8
+ function u() {
9
+ return u = Object.assign ? Object.assign.bind() : function(s) {
10
+ for (var n = 1; n < arguments.length; n++) {
11
+ var o = arguments[n];
12
+ for (var r in o) ({}).hasOwnProperty.call(o, r) && (s[r] = o[r]);
14
13
  }
15
- return i;
16
- }, d.apply(null, arguments);
14
+ return s;
15
+ }, u.apply(null, arguments);
17
16
  }
18
- const oe = ({
19
- defaultActiveTab: i,
20
- tabs: o,
21
- onTabChange: m,
22
- primaryTabCount: u,
23
- headingLevel: g,
24
- id: F,
25
- ariaLabel: M = "Tabs",
26
- ariaLabelledBy: K,
27
- panelId: p,
28
- appearance: h = "solid"
29
- }) => {
30
- const R = i || (o[0] ? o[0].id : ""), S = h === "outline" ? "se-design-tab-item-active font-medium hover:cursor-pointer" : "se-design-tab-item-active text-[var(--color-white)] bg-[var(--color-blue-500)] font-medium hover:cursor-pointer", [b, w] = L(R), [T, y] = L(!1), E = u ?? o?.length, f = o.slice(0, E), c = o.slice(E), l = c.find((e) => e.id === b), k = o.some((e) => e.renderTabContent), x = q(F, "tabs"), _ = z(() => {
31
- const e = f.filter((s) => !s.disabled), r = c.filter((s) => !s.disabled), n = e.map((s) => s.id);
32
- return r.length > 0 ? [...n, "overflow"] : n;
33
- }, [f, c]), {
34
- getTabProps: I,
35
- getPanelProps: j,
36
- getTabListProps: B,
37
- handleKeyDown: C,
38
- setFocusedTabId: N
39
- } = G({
40
- itemIds: _,
41
- activeItem: b,
42
- orientation: "horizontal",
43
- idBase: x,
44
- includePanelLinks: k || !!p,
45
- externalPanelId: p
46
- }), P = O(null), v = O(!1);
47
- H(() => {
48
- w(i || "");
49
- }, [i]);
50
- const D = (e) => {
51
- w(e?.id), m?.(e?.id);
52
- }, $ = (e, r) => e.id === r;
53
- if (g && o.length === 1) {
54
- const e = o[0];
55
- return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(g, {
56
- className: "se-design-tabs se-design-tabs-heading"
57
- }, e.label), /* @__PURE__ */ t.createElement("div", {
58
- className: "se-design-tabs-content"
59
- }, /* @__PURE__ */ t.createElement("div", {
60
- className: "tab-content block"
61
- }, e?.renderTabContent && e?.renderTabContent(e))));
62
- }
63
- return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("div", d({
64
- className: `se-design-tabs flex items-stretch relative border rounded-md border-[var(--color-gray-400)] w-fit ${h === "outline" ? "se-design-tabs--outline" : ""}`,
65
- "data-automation-id": "tabs-container"
66
- }, B({
67
- ariaLabel: M,
68
- ariaLabelledBy: K
69
- })), f.map((e) => {
70
- const r = b === e.id, n = !!e.disabled, s = I(e.id);
71
- return /* @__PURE__ */ t.createElement("button", d({
72
- type: "button",
73
- key: e.id
74
- }, s, {
75
- disabled: n,
76
- "aria-label": e.ariaLabel,
77
- onFocus: () => !n && N(e.id),
78
- onKeyDown: C,
79
- onClick: () => D(e),
80
- className: `se-design-tab-item flex items-center text-base px-3 py-0.5 min-w-0 border-l first:border-l-0 first:rounded-l-[0.3rem] last:rounded-r-[0.3rem] border-[var(--color-gray-400)] ${n ? "" : "focus-outline"} ${n ? "text-[var(--color-gray-400)] cursor-not-allowed" : r ? S : "text-[var(--color-gray-700)] font-normal hover:bg-[var(--color-gray-50)] hover:text-[var(--color-gray-900)] cursor-pointer transition-all duration-200 ease-in-out"}`,
81
- "data-automation-id": `tab-item-${e.automationId || e.id || ""}`
82
- }), e.label);
83
- }), c.length > 0 && /* @__PURE__ */ t.createElement(U, {
84
- className: "se-design-overflow-tabs",
85
- position: "bottom-left",
86
- noBorder: !0,
87
- disableClickToggle: !0,
88
- onPopoverToggle: (e) => {
89
- e || (v.current && P.current?.focus(), v.current = !1);
90
- },
91
- renderPopoverSrcElement: ({
92
- displayPopover: e,
93
- togglePopover: r
94
- }) => {
95
- const n = I("overflow"), s = l ? J(l.id, x) : void 0;
96
- return /* @__PURE__ */ t.createElement("div", d({}, n, {
97
- ref: (a) => {
98
- P.current = a, n.ref(a);
99
- },
100
- "aria-selected": !!l,
101
- "aria-label": l?.label ? void 0 : `More tabs (${c.length})`,
102
- "aria-controls": s,
103
- "aria-haspopup": "true",
104
- "aria-expanded": e,
105
- onClick: () => {
106
- v.current = !1, r(!0);
107
- },
108
- onFocus: () => N("overflow"),
109
- "data-automation-id": "tabs-kebab-menu",
110
- onKeyDown: (a) => {
111
- a.key === "Enter" || a.key === " " || a.key === "ArrowDown" ? (a.preventDefault(), v.current = !0, r(!0)) : a.key === "ArrowUp" ? (a.preventDefault(), v.current = !0, r("last")) : C(a);
112
- },
113
- className: `overflow-tabs-src-element focus-outline border-l px-3 py-0.5 rounded-r-md font-medium hover:cursor-pointer transition-all duration-200 ease-in-out ${e ? "bg-[var(--color-blue-100)]" : ""} ${l?.label ? "bg-[var(--color-blue-500)]" : "hover:bg-[var(--color-gray-50)]"}`,
114
- onMouseEnter: () => y(!0),
115
- onMouseLeave: () => y(!1)
116
- }), l?.label ? /* @__PURE__ */ t.createElement("span", {
117
- className: "pointer-events-none flex items-center gap-1"
118
- }, /* @__PURE__ */ t.createElement("span", {
119
- className: "text-[var(--color-white)]"
120
- }, l?.label), /* @__PURE__ */ t.createElement(A, {
121
- name: "chevron",
122
- rotation: e ? "180" : "0",
123
- stroke: T ? "var(--color-gray-100)" : "var(--color-white)"
124
- })) : /* @__PURE__ */ t.createElement("span", {
125
- className: "pointer-events-none"
126
- }, /* @__PURE__ */ t.createElement(A, {
127
- name: "kebab-menu",
128
- fill: T ? "var(--color-gray-900)" : "var(--color-gray-700)"
129
- })));
130
- },
131
- renderPopoverContents: ({
132
- closePopoverCb: e
133
- }) => /* @__PURE__ */ t.createElement(V, {
134
- items: c.map((r) => ({
135
- id: r?.id,
136
- label: r?.label,
137
- automationId: r?.automationId || r?.id,
138
- onClick: () => {
139
- D(r), e();
140
- }
141
- }))
142
- })
143
- })), k && /* @__PURE__ */ t.createElement("div", {
144
- className: "se-design-tabs-content"
145
- }, o.map((e) => /* @__PURE__ */ t.createElement("div", d({
146
- key: e.id
147
- }, j(e.id), {
148
- className: `tab-content ${$(e, b) ? "block" : "hidden"}`
149
- }), $(e, b) && e.renderTabContent?.(e)))));
17
+ const W = (s) => {
18
+ const {
19
+ content: n,
20
+ className: o = "",
21
+ alignment: r,
22
+ noShadow: E,
23
+ position: f = "fixed",
24
+ isOpen: e,
25
+ displayCloseSidebar: R,
26
+ onClose: l,
27
+ onSidebarUnmount: b,
28
+ onPathChange: y,
29
+ style: d,
30
+ automationId: C,
31
+ id: N,
32
+ currentPath: p = "",
33
+ closeSidebarIcon: D = "close",
34
+ closeAriaLabel: O = "Close sidebar",
35
+ animateSidebar: P = !0,
36
+ a11yRole: x,
37
+ ariaLabel: g,
38
+ ariaLabelledBy: v,
39
+ ariaDescribedBy: h,
40
+ returnFocusRef: w
41
+ } = s, S = x ?? "complementary", t = S === "dialog", F = K(() => $({
42
+ ariaLabel: g,
43
+ ariaLabelledBy: v,
44
+ ariaDescribedBy: h
45
+ }), [g, v, h]), c = j(null);
46
+ m(() => () => {
47
+ b && b();
48
+ }, []), m(() => {
49
+ if (t)
50
+ return document.body.style.overflow = e ? "hidden" : "", () => {
51
+ document.body.style.overflow = "";
52
+ };
53
+ }, [e, t]), m(() => {
54
+ y && y(p);
55
+ }, [p]);
56
+ const {
57
+ onKeyDown: I
58
+ } = z({
59
+ onDismiss: l,
60
+ enabled: e
61
+ });
62
+ k({
63
+ enabled: !!(t && e && l),
64
+ containerRef: c,
65
+ restoreFocus: !0,
66
+ initialFocus: "first",
67
+ returnFocusRef: w
68
+ });
69
+ const {
70
+ startSentinelProps: _,
71
+ endSentinelProps: A
72
+ } = T({
73
+ isOpen: e,
74
+ isModal: t,
75
+ containerRef: c,
76
+ returnFocusRef: w
77
+ }), L = () => {
78
+ let a = "se-design-sidebar-overlay-container z-[1000]";
79
+ return a += o.length > 0 ? ` ${o}` : "", a += r === "left" ? " left-aligned" : " right-aligned", a += E ? " no-shadow" : "", a += f.length > 0 ? ` ${f}` : "", a += e ? " open-sidebar" : " closed-sidebar", P || (a += e ? "" : " hidden"), a;
80
+ }, B = () => ({
81
+ ...d,
82
+ ...e && d?.width ? {
83
+ width: d?.width
84
+ } : {
85
+ width: "0px"
86
+ }
87
+ });
88
+ return /* @__PURE__ */ i.createElement("div", u({
89
+ ref: c,
90
+ id: N,
91
+ className: L(),
92
+ style: B(),
93
+ "data-automation-id": C,
94
+ tabIndex: -1,
95
+ role: S,
96
+ "aria-modal": t ? "true" : void 0,
97
+ "aria-hidden": e ? void 0 : "true"
98
+ }, F, {
99
+ onKeyDown: I,
100
+ inert: e ? void 0 : ""
101
+ }), /* @__PURE__ */ i.createElement("div", {
102
+ className: "overlay-content"
103
+ }, !t && /* @__PURE__ */ i.createElement("div", _), R && /* @__PURE__ */ i.createElement(M, {
104
+ name: D,
105
+ onClick: l,
106
+ className: "overlay-close",
107
+ ariaLabel: O,
108
+ automationId: "sidebar_overlay_close"
109
+ }), n, !t && /* @__PURE__ */ i.createElement("div", A)));
150
110
  };
151
111
  export {
152
- oe as Tabs
112
+ W as SidebarOverlay
153
113
  };
154
114
  //# sourceMappingURL=index29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index29.js","sources":["../src/components/Tabs/index.tsx"],"sourcesContent":["import React, { FC, ReactNode, useState, useEffect, useMemo, useRef } from 'react';\nimport { Icon } from '../Icon';\nimport { Popover } from '../Popover';\nimport { MenuList } from '../MenuList';\nimport { useStableId } from '../../utils/useStableId';\nimport { useTabsA11y, getPanelId } from '../../utils/a11y';\n\nimport './style.scss';\n\ninterface TabProps {\n label: string;\n id: string;\n disabled?: boolean;\n renderTabContent?: (tab: TabProps) => ReactNode;\n automationId?: string;\n ariaLabel?: string;\n}\ninterface TabsProps {\n defaultActiveTab?: string;\n tabs: TabProps[];\n onTabChange?: (tabId: string) => void;\n primaryTabCount?: number; // prop for controlling primary tabs\n headingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span'; // heading tag to render single tab as a heading element when only one tab is present\n automationId?: string;\n id?: string; // custom ID for baseId (passed to useStableId)\n ariaLabel?: string; // Accessible name when no visible label exists\n ariaLabelledBy?: string; // ID of element that labels this tablist (preferred over ariaLabel)\n panelId?: string; // When consumer manages a single external panel, pass its id here\n // Active-tab treatment: 'solid' (default) fills with brand blue; 'outline' keeps it white with a blue ring + label.\n appearance?: 'solid' | 'outline';\n}\n\nexport const Tabs: FC<TabsProps> = ({\n defaultActiveTab,\n tabs,\n onTabChange,\n primaryTabCount,\n headingLevel: HeadingTag,\n id,\n ariaLabel = 'Tabs',\n ariaLabelledBy,\n panelId,\n appearance = 'solid'\n}) => {\n const defaultTabId = defaultActiveTab || (tabs[0] ? tabs[0].id : '');\n // 'outline' active styling comes from .se-design-tabs--outline in style.scss, so the active button omits the solid fill/text utilities.\n const activeTabClassName =\n appearance === 'outline'\n ? 'se-design-tab-item-active font-medium hover:cursor-pointer'\n : 'se-design-tab-item-active text-[var(--color-white)] bg-[var(--color-blue-500)] font-medium hover:cursor-pointer';\n const [activeTab, setActiveTab] = useState(defaultTabId);\n const [isIconTabHover, setIsIconTabHover] = useState(false);\n\n const visibleTabCount = primaryTabCount ?? tabs?.length;\n const visibleTabs = tabs.slice(0, visibleTabCount);\n const overflowTabs = tabs.slice(visibleTabCount);\n const activeOverflowTab = overflowTabs.find((tab) => tab.id === activeTab);\n\n // Only render internal panels if at least one tab provides content via renderTabContent\n const hasPanelContent = tabs.some(t => t.renderTabContent);\n\n // A11y setup\n const baseId = useStableId(id, 'tabs');\n const itemIds = useMemo(() => {\n const enabledVisibleTabs = visibleTabs.filter(t => !t.disabled);\n const enabledOverflowTabs = overflowTabs.filter(t => !t.disabled);\n const visibleIds = enabledVisibleTabs.map(t => t.id);\n return enabledOverflowTabs.length > 0 ? [...visibleIds, 'overflow'] : visibleIds;\n }, [visibleTabs, overflowTabs]);\n\n const { getTabProps, getPanelProps, getTabListProps, handleKeyDown, setFocusedTabId } = useTabsA11y({\n itemIds,\n activeItem: activeTab,\n orientation: 'horizontal',\n idBase: baseId,\n includePanelLinks: hasPanelContent || !!panelId,\n externalPanelId: panelId\n });\n\n // Ref for the overflow button div — needed to return focus after menu closes\n const overflowDivRef = useRef<HTMLDivElement>(null);\n // Track whether the overflow popover was opened via keyboard — only return focus\n // programmatically in that case (mouse-opened popovers should not trigger :focus-visible on close)\n const wasKeyboardOpenedRef = useRef(false);\n\n useEffect(() => {\n setActiveTab(defaultActiveTab || '');\n }, [defaultActiveTab]);\n\n const handleTabClick = (tab: TabProps) => {\n setActiveTab(tab?.id);\n onTabChange?.(tab?.id);\n };\n\n const isTabActive = (tab: TabProps, activeTab: string) => {\n return tab.id === activeTab;\n };\n\n if (HeadingTag && tabs.length === 1) {\n const singleTab = tabs[0];\n return (\n <>\n <HeadingTag className=\"se-design-tabs se-design-tabs-heading\">\n {singleTab.label}\n </HeadingTag>\n <div className=\"se-design-tabs-content\">\n <div className=\"tab-content block\">\n {singleTab?.renderTabContent && singleTab?.renderTabContent(singleTab)}\n </div>\n </div>\n </>\n );\n }\n\n return (\n <>\n <div\n className={`se-design-tabs flex items-stretch relative border rounded-md border-[var(--color-gray-400)] w-fit ${\n appearance === 'outline' ? 'se-design-tabs--outline' : ''\n }`}\n data-automation-id=\"tabs-container\"\n {...getTabListProps({ ariaLabel, ariaLabelledBy })}\n >\n {visibleTabs.map((tab) => {\n const isActive = activeTab === tab.id;\n const isDisabled = !!tab.disabled;\n const tabProps = getTabProps(tab.id);\n return (\n <button\n type=\"button\"\n key={tab.id}\n {...tabProps}\n disabled={isDisabled}\n aria-label={tab.ariaLabel}\n onFocus={() => !isDisabled && setFocusedTabId(tab.id)}\n onKeyDown={handleKeyDown}\n onClick={() => handleTabClick(tab)}\n className={`se-design-tab-item flex items-center text-base px-3 py-0.5 min-w-0 border-l first:border-l-0 first:rounded-l-[0.3rem] last:rounded-r-[0.3rem] border-[var(--color-gray-400)] ${!isDisabled ? 'focus-outline' : ''} ${\n isDisabled\n ? 'text-[var(--color-gray-400)] cursor-not-allowed'\n : isActive\n ? activeTabClassName\n : 'text-[var(--color-gray-700)] font-normal hover:bg-[var(--color-gray-50)] hover:text-[var(--color-gray-900)] cursor-pointer transition-all duration-200 ease-in-out'\n }`}\n data-automation-id={`tab-item-${tab.automationId || tab.id || ''}`}\n >\n {tab.label}\n </button>\n );\n })}\n\n {overflowTabs.length > 0 && (\n <Popover\n className=\"se-design-overflow-tabs\"\n position=\"bottom-left\"\n noBorder\n disableClickToggle={true}\n onPopoverToggle={(isOpen) => {\n if (!isOpen) {\n if (wasKeyboardOpenedRef.current) overflowDivRef.current?.focus();\n wasKeyboardOpenedRef.current = false;\n }\n }}\n renderPopoverSrcElement={({ displayPopover, togglePopover }) => {\n const overflowTabProps = getTabProps('overflow');\n const overflowAriaControls = activeOverflowTab\n ? getPanelId(activeOverflowTab.id, baseId)\n : undefined;\n\n return (\n <div\n {...overflowTabProps}\n ref={(el) => { overflowDivRef.current = el; overflowTabProps.ref(el); }}\n aria-selected={!!activeOverflowTab}\n aria-label={activeOverflowTab?.label ? undefined : `More tabs (${overflowTabs.length})`}\n aria-controls={overflowAriaControls}\n aria-haspopup=\"true\"\n aria-expanded={displayPopover}\n onClick={() => { wasKeyboardOpenedRef.current = false; togglePopover(true); }}\n onFocus={() => setFocusedTabId('overflow')}\n data-automation-id=\"tabs-kebab-menu\"\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') {\n e.preventDefault();\n wasKeyboardOpenedRef.current = true;\n togglePopover(true);\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n wasKeyboardOpenedRef.current = true;\n togglePopover('last');\n } else {\n handleKeyDown(e);\n }\n }}\n className={`overflow-tabs-src-element focus-outline border-l px-3 py-0.5 rounded-r-md font-medium hover:cursor-pointer transition-all duration-200 ease-in-out ${\n displayPopover ? 'bg-[var(--color-blue-100)]' : ''\n } ${activeOverflowTab?.label ? 'bg-[var(--color-blue-500)]' : 'hover:bg-[var(--color-gray-50)]'}`}\n onMouseEnter={() => setIsIconTabHover(true)}\n onMouseLeave={() => setIsIconTabHover(false)}\n >\n {activeOverflowTab?.label ? (\n <span className=\"pointer-events-none flex items-center gap-1\">\n <span className=\"text-[var(--color-white)]\">{activeOverflowTab?.label}</span>\n <Icon\n name=\"chevron\"\n rotation={displayPopover ? '180' : '0'}\n stroke={isIconTabHover ? 'var(--color-gray-100)' : 'var(--color-white)'}\n />\n </span>\n ) : (\n <span className=\"pointer-events-none\">\n <Icon name=\"kebab-menu\" fill={isIconTabHover ? 'var(--color-gray-900)' : 'var(--color-gray-700)'} />\n </span>\n )}\n </div>\n );\n }}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList\n items={overflowTabs.map((tab) => ({\n id: tab?.id,\n label: tab?.label,\n automationId: tab?.automationId || tab?.id,\n onClick: () => {\n handleTabClick(tab);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n </div>\n\n {hasPanelContent && (\n <div className=\"se-design-tabs-content\">\n {tabs.map((tab) => (\n <div\n key={tab.id}\n {...getPanelProps(tab.id)}\n className={`tab-content ${isTabActive(tab, activeTab) ? 'block' : 'hidden'}`}\n >\n {isTabActive(tab, activeTab) && tab.renderTabContent?.(tab)}\n </div>\n ))}\n </div>\n )}\n </>\n );\n};\n"],"names":["Tabs","defaultActiveTab","tabs","onTabChange","primaryTabCount","headingLevel","HeadingTag","id","ariaLabel","ariaLabelledBy","panelId","appearance","defaultTabId","activeTabClassName","activeTab","setActiveTab","useState","isIconTabHover","setIsIconTabHover","visibleTabCount","length","visibleTabs","slice","overflowTabs","activeOverflowTab","find","tab","hasPanelContent","some","t","renderTabContent","baseId","useStableId","itemIds","useMemo","enabledVisibleTabs","filter","disabled","enabledOverflowTabs","visibleIds","map","getTabProps","getPanelProps","getTabListProps","handleKeyDown","setFocusedTabId","useTabsA11y","activeItem","orientation","idBase","includePanelLinks","externalPanelId","overflowDivRef","useRef","wasKeyboardOpenedRef","useEffect","handleTabClick","isTabActive","singleTab","createElement","React","Fragment","className","label","_extends","isActive","isDisabled","tabProps","type","key","onFocus","onKeyDown","onClick","automationId","Popover","position","noBorder","disableClickToggle","onPopoverToggle","isOpen","current","focus","renderPopoverSrcElement","displayPopover","togglePopover","overflowTabProps","overflowAriaControls","getPanelId","undefined","ref","el","e","preventDefault","onMouseEnter","onMouseLeave","Icon","name","rotation","stroke","fill","renderPopoverContents","closePopoverCb","MenuList","items"],"mappings":"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"}
1
+ {"version":3,"file":"index29.js","sources":["../src/components/SidebarOverlay/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useMemo, useRef } from 'react';\nimport { Icon } from 'components/Icon';\nimport { getA11yNameAttributes, useFocusTrap, useDismissOnEscape } from '../../utils/a11y';\nimport { useFocusSentinel } from '../../utils/a11y/useFocusSentinel';\n\nimport './style.scss';\n\ntype SidebarOverlayA11yRole = 'dialog' | 'complementary';\n\nexport interface SidebarOverlayProps {\n content: React.ReactNode;\n className?: string;\n alignment?: 'left' | 'right';\n style?: React.CSSProperties;\n noShadow?: boolean;\n automationId?: string;\n id?: string;\n position?: 'absolute' | 'fixed' | 'relative' | 'static' | '';\n isOpen?: boolean;\n displayCloseSidebar?: boolean;\n closeSidebarIcon?: string;\n /**\n * Accessible label for the close button. Defaults to 'Close sidebar'.\n */\n closeAriaLabel?: string;\n onClose?: () => void;\n onSidebarUnmount?: () => void;\n onPathChange?: (route: string) => void;\n currentPath?: string;\n animateSidebar?: boolean;\n /**\n * Accessibility role that determines the full behavior bundle.\n * - 'dialog': modal drawer (focus trap, scroll lock, aria-modal, Escape closes)\n * - 'complementary': persistent side panel (no trap, no forced focus, no scroll lock)\n * If not provided, derives from position: fixed|absolute → 'dialog', static|relative|'' → 'complementary'\n */\n a11yRole?: SidebarOverlayA11yRole;\n /**\n * Accessible name when no visible label exists.\n * Prefer ariaLabelledBy when a visible title exists inside the sidebar.\n */\n ariaLabel?: string;\n /**\n * ID(s) of visible element(s) that label this sidebar.\n * Preferred over ariaLabel when a visible title exists (keeps SR and visual text in sync).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this sidebar (additional context).\n */\n ariaDescribedBy?: string;\n /**\n * Explicit element to restore focus to when the sidebar closes.\n * Overrides automatic trigger capture from document.activeElement.\n * Use when the opener element is known (e.g. a ref on the toggle button).\n * In complementary mode: seeds the trigger ref directly.\n * In dialog mode: passed through to useFocusTrap.\n */\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const SidebarOverlay: FC<SidebarOverlayProps> = (props) => {\n const {\n content,\n className = '',\n alignment,\n noShadow,\n position = 'fixed',\n isOpen,\n displayCloseSidebar,\n onClose,\n onSidebarUnmount,\n onPathChange,\n style,\n automationId,\n id,\n currentPath = '',\n closeSidebarIcon = 'close',\n closeAriaLabel = 'Close sidebar',\n animateSidebar = true,\n a11yRole,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n returnFocusRef,\n } = props;\n\n // Default to complementary — consumers opt into dialog (focus trap + scroll lock)\n // by passing a11yRole=\"dialog\" explicitly.\n const effectiveA11yRole: SidebarOverlayA11yRole = a11yRole ?? 'complementary';\n\n const isModal = effectiveA11yRole === 'dialog';\n\n // Get accessible name attributes\n const accessibleNameProps = useMemo(\n () => getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy }),\n [ariaLabel, ariaLabelledBy, ariaDescribedBy]\n );\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n return () => {\n onSidebarUnmount && onSidebarUnmount();\n };\n }, []);\n\n // Scroll lock — modal only.\n useEffect(() => {\n if (!isModal) return;\n document.body.style.overflow = isOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isOpen, isModal]);\n\n useEffect(() => {\n onPathChange && onPathChange(currentPath);\n }, [currentPath]);\n\n const { onKeyDown: onEscapeKeyDown } = useDismissOnEscape({\n onDismiss: onClose,\n enabled: isOpen\n });\n\n // Focus trap: modal mode only, guarded by onClose as a WCAG safety net —\n // trapping focus without a dismiss path is a keyboard trap (WCAG 2.1.2).\n useFocusTrap({\n enabled: Boolean(isModal && isOpen && !!onClose),\n containerRef: sidebarRef,\n restoreFocus: true,\n initialFocus: 'first',\n returnFocusRef,\n });\n\n // Complementary (non-modal) focus management: move focus in on open,\n // restore to trigger on close, wrap Tab/Shift+Tab at panel boundaries.\n const { startSentinelProps, endSentinelProps } = useFocusSentinel({\n isOpen,\n isModal,\n containerRef: sidebarRef,\n returnFocusRef,\n });\n\n const getSidebarClassName = () => {\n let defaultClass = `se-design-sidebar-overlay-container z-[1000]`;\n\n defaultClass += className.length > 0 ? ` ${className}` : '';\n defaultClass += alignment === 'left' ? ' left-aligned' : ' right-aligned';\n defaultClass += noShadow ? ' no-shadow' : '';\n defaultClass += position.length > 0 ? ` ${position}` : '';\n defaultClass += isOpen ? ' open-sidebar' : ' closed-sidebar';\n if(!animateSidebar) {\n defaultClass += isOpen ? '' : ' hidden';\n }\n return defaultClass;\n };\n\n const getSidebarStyle = () => {\n return {\n ...style,\n ...(isOpen && style?.width ? { width: style?.width } : { width: '0px' })\n };\n };\n\n return (\n <div\n ref={sidebarRef}\n id={id}\n className={getSidebarClassName()}\n style={getSidebarStyle()}\n data-automation-id={automationId}\n tabIndex={-1}\n role={effectiveA11yRole}\n aria-modal={isModal ? 'true' : undefined}\n aria-hidden={!isOpen ? 'true' : undefined}\n {...accessibleNameProps}\n onKeyDown={onEscapeKeyDown}\n inert={!isOpen ? ('' as unknown as boolean) : undefined}\n >\n <div className=\"overlay-content\">\n {!isModal && <div {...startSentinelProps} />}\n {displayCloseSidebar && (\n <Icon\n name={closeSidebarIcon}\n onClick={onClose}\n className=\"overlay-close\"\n ariaLabel={closeAriaLabel}\n automationId=\"sidebar_overlay_close\"\n />\n )}\n {content}\n {!isModal && <div {...endSentinelProps} />}\n </div>\n </div>\n );\n};\n"],"names":["SidebarOverlay","props","content","className","alignment","noShadow","position","isOpen","displayCloseSidebar","onClose","onSidebarUnmount","onPathChange","style","automationId","id","currentPath","closeSidebarIcon","closeAriaLabel","animateSidebar","a11yRole","ariaLabel","ariaLabelledBy","ariaDescribedBy","returnFocusRef","effectiveA11yRole","isModal","accessibleNameProps","useMemo","getA11yNameAttributes","sidebarRef","useRef","useEffect","document","body","overflow","onKeyDown","onEscapeKeyDown","useDismissOnEscape","onDismiss","enabled","useFocusTrap","Boolean","containerRef","restoreFocus","initialFocus","startSentinelProps","endSentinelProps","useFocusSentinel","getSidebarClassName","defaultClass","length","getSidebarStyle","width","React","createElement","_extends","ref","tabIndex","role","undefined","inert","Icon","name","onClick"],"mappings":"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"}
package/dist/index3.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import K, { forwardRef as N } from "react";
2
- import { getA11yNameAttributes as R } from "./index81.js";
3
- import { useAccessiblePress as _ } from "./index67.js";
4
- import "./index72.js";
2
+ import { getA11yNameAttributes as R } from "./index86.js";
3
+ import { useAccessiblePress as _ } from "./index72.js";
4
+ import "./index77.js";
5
5
  function a() {
6
6
  return a = Object.assign ? Object.assign.bind() : function(t) {
7
7
  for (var r = 1; r < arguments.length; r++) {