se-design 1.0.82 → 1.0.83-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.
Files changed (427) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/NLSearch/ClearAiFiltersBar.d.ts +21 -0
  3. package/dist/components/NLSearch/NLDynamicChip.d.ts +18 -0
  4. package/dist/components/NLSearch/NLSearchInput.d.ts +21 -0
  5. package/dist/components/NLSearch/index.d.ts +6 -0
  6. package/dist/components/index.d.ts +2 -0
  7. package/dist/index.js +131 -124
  8. package/dist/index.js.map +1 -1
  9. package/dist/index100.js +1 -1
  10. package/dist/index100.js.map +1 -1
  11. package/dist/index101.js +1 -1
  12. package/dist/index101.js.map +1 -1
  13. package/dist/index102.js +1 -1
  14. package/dist/index102.js.map +1 -1
  15. package/dist/index103.js +1 -1
  16. package/dist/index103.js.map +1 -1
  17. package/dist/index104.js +1 -1
  18. package/dist/index104.js.map +1 -1
  19. package/dist/index105.js +1 -1
  20. package/dist/index105.js.map +1 -1
  21. package/dist/index106.js +1 -1
  22. package/dist/index106.js.map +1 -1
  23. package/dist/index107.js +1 -1
  24. package/dist/index107.js.map +1 -1
  25. package/dist/index108.js +1 -1
  26. package/dist/index108.js.map +1 -1
  27. package/dist/index109.js +2 -2
  28. package/dist/index109.js.map +1 -1
  29. package/dist/index11.js +1 -1
  30. package/dist/index110.js +2 -2
  31. package/dist/index110.js.map +1 -1
  32. package/dist/index111.js +1 -1
  33. package/dist/index111.js.map +1 -1
  34. package/dist/index112.js +1 -1
  35. package/dist/index112.js.map +1 -1
  36. package/dist/index113.js +2 -2
  37. package/dist/index113.js.map +1 -1
  38. package/dist/index114.js +1 -1
  39. package/dist/index114.js.map +1 -1
  40. package/dist/index115.js +2 -2
  41. package/dist/index115.js.map +1 -1
  42. package/dist/index116.js +1 -1
  43. package/dist/index116.js.map +1 -1
  44. package/dist/index117.js +1 -1
  45. package/dist/index117.js.map +1 -1
  46. package/dist/index118.js +2 -2
  47. package/dist/index118.js.map +1 -1
  48. package/dist/index119.js +2 -2
  49. package/dist/index119.js.map +1 -1
  50. package/dist/index12.js +3 -3
  51. package/dist/index120.js +1 -1
  52. package/dist/index120.js.map +1 -1
  53. package/dist/index121.js +2 -2
  54. package/dist/index121.js.map +1 -1
  55. package/dist/index122.js +2 -2
  56. package/dist/index122.js.map +1 -1
  57. package/dist/index123.js +2 -2
  58. package/dist/index123.js.map +1 -1
  59. package/dist/index124.js +1 -1
  60. package/dist/index124.js.map +1 -1
  61. package/dist/index125.js +2 -2
  62. package/dist/index125.js.map +1 -1
  63. package/dist/index126.js +2 -2
  64. package/dist/index126.js.map +1 -1
  65. package/dist/index127.js +2 -2
  66. package/dist/index127.js.map +1 -1
  67. package/dist/index128.js +1 -1
  68. package/dist/index128.js.map +1 -1
  69. package/dist/index129.js +1 -1
  70. package/dist/index129.js.map +1 -1
  71. package/dist/index13.js +2 -2
  72. package/dist/index130.js +2 -2
  73. package/dist/index130.js.map +1 -1
  74. package/dist/index131.js +2 -2
  75. package/dist/index131.js.map +1 -1
  76. package/dist/index132.js +2 -2
  77. package/dist/index132.js.map +1 -1
  78. package/dist/index133.js +1 -1
  79. package/dist/index133.js.map +1 -1
  80. package/dist/index134.js +1 -1
  81. package/dist/index134.js.map +1 -1
  82. package/dist/index135.js +2 -2
  83. package/dist/index135.js.map +1 -1
  84. package/dist/index136.js +2 -2
  85. package/dist/index136.js.map +1 -1
  86. package/dist/index137.js +1 -1
  87. package/dist/index137.js.map +1 -1
  88. package/dist/index138.js +1 -1
  89. package/dist/index138.js.map +1 -1
  90. package/dist/index139.js +1 -1
  91. package/dist/index139.js.map +1 -1
  92. package/dist/index140.js +1 -1
  93. package/dist/index140.js.map +1 -1
  94. package/dist/index141.js +1 -1
  95. package/dist/index141.js.map +1 -1
  96. package/dist/index142.js +2 -2
  97. package/dist/index142.js.map +1 -1
  98. package/dist/index143.js +1 -1
  99. package/dist/index143.js.map +1 -1
  100. package/dist/index144.js +1 -1
  101. package/dist/index144.js.map +1 -1
  102. package/dist/index145.js +1 -1
  103. package/dist/index145.js.map +1 -1
  104. package/dist/index146.js +2 -2
  105. package/dist/index146.js.map +1 -1
  106. package/dist/index147.js +1 -1
  107. package/dist/index147.js.map +1 -1
  108. package/dist/index148.js +1 -1
  109. package/dist/index148.js.map +1 -1
  110. package/dist/index149.js +1 -1
  111. package/dist/index149.js.map +1 -1
  112. package/dist/index150.js +1 -1
  113. package/dist/index150.js.map +1 -1
  114. package/dist/index151.js +2 -2
  115. package/dist/index151.js.map +1 -1
  116. package/dist/index152.js +2 -2
  117. package/dist/index152.js.map +1 -1
  118. package/dist/index153.js +1 -1
  119. package/dist/index153.js.map +1 -1
  120. package/dist/index154.js +2 -2
  121. package/dist/index154.js.map +1 -1
  122. package/dist/index155.js +1 -1
  123. package/dist/index155.js.map +1 -1
  124. package/dist/index156.js +2 -2
  125. package/dist/index156.js.map +1 -1
  126. package/dist/index157.js +1 -1
  127. package/dist/index157.js.map +1 -1
  128. package/dist/index158.js +2 -2
  129. package/dist/index158.js.map +1 -1
  130. package/dist/index159.js +2 -2
  131. package/dist/index159.js.map +1 -1
  132. package/dist/index16.js +3 -3
  133. package/dist/index160.js +1 -1
  134. package/dist/index160.js.map +1 -1
  135. package/dist/index161.js +1 -1
  136. package/dist/index161.js.map +1 -1
  137. package/dist/index162.js +1 -1
  138. package/dist/index162.js.map +1 -1
  139. package/dist/index163.js +1 -1
  140. package/dist/index163.js.map +1 -1
  141. package/dist/index164.js +1 -1
  142. package/dist/index164.js.map +1 -1
  143. package/dist/index165.js +1 -1
  144. package/dist/index165.js.map +1 -1
  145. package/dist/index166.js +1 -1
  146. package/dist/index166.js.map +1 -1
  147. package/dist/index167.js +1 -1
  148. package/dist/index167.js.map +1 -1
  149. package/dist/index168.js +1 -1
  150. package/dist/index168.js.map +1 -1
  151. package/dist/index169.js +1 -1
  152. package/dist/index169.js.map +1 -1
  153. package/dist/index170.js +1 -1
  154. package/dist/index170.js.map +1 -1
  155. package/dist/index171.js +1 -1
  156. package/dist/index171.js.map +1 -1
  157. package/dist/index172.js +1 -1
  158. package/dist/index172.js.map +1 -1
  159. package/dist/index173.js +1 -1
  160. package/dist/index173.js.map +1 -1
  161. package/dist/index174.js +1 -1
  162. package/dist/index174.js.map +1 -1
  163. package/dist/index175.js +1 -1
  164. package/dist/index175.js.map +1 -1
  165. package/dist/index176.js +1 -1
  166. package/dist/index176.js.map +1 -1
  167. package/dist/index177.js +1 -1
  168. package/dist/index177.js.map +1 -1
  169. package/dist/index178.js +1 -1
  170. package/dist/index178.js.map +1 -1
  171. package/dist/index179.js +1 -1
  172. package/dist/index179.js.map +1 -1
  173. package/dist/index18.js +2 -2
  174. package/dist/index180.js +1 -1
  175. package/dist/index180.js.map +1 -1
  176. package/dist/index181.js +2 -2
  177. package/dist/index181.js.map +1 -1
  178. package/dist/index182.js +1 -1
  179. package/dist/index182.js.map +1 -1
  180. package/dist/index183.js +1 -1
  181. package/dist/index183.js.map +1 -1
  182. package/dist/index184.js +1 -1
  183. package/dist/index184.js.map +1 -1
  184. package/dist/index185.js +2 -2
  185. package/dist/index185.js.map +1 -1
  186. package/dist/index186.js +1 -1
  187. package/dist/index186.js.map +1 -1
  188. package/dist/index187.js +1 -1
  189. package/dist/index187.js.map +1 -1
  190. package/dist/index188.js +1 -1
  191. package/dist/index188.js.map +1 -1
  192. package/dist/index189.js +2 -2
  193. package/dist/index189.js.map +1 -1
  194. package/dist/index19.js +5 -5
  195. package/dist/index190.js +1 -1
  196. package/dist/index190.js.map +1 -1
  197. package/dist/index191.js +1 -1
  198. package/dist/index191.js.map +1 -1
  199. package/dist/index192.js +1 -1
  200. package/dist/index192.js.map +1 -1
  201. package/dist/index193.js +1 -1
  202. package/dist/index193.js.map +1 -1
  203. package/dist/index194.js +1 -1
  204. package/dist/index194.js.map +1 -1
  205. package/dist/index195.js +1 -1
  206. package/dist/index195.js.map +1 -1
  207. package/dist/index196.js +2 -2
  208. package/dist/index196.js.map +1 -1
  209. package/dist/index197.js +1 -1
  210. package/dist/index197.js.map +1 -1
  211. package/dist/index198.js +2 -2
  212. package/dist/index198.js.map +1 -1
  213. package/dist/index199.js +2 -149
  214. package/dist/index199.js.map +1 -1
  215. package/dist/index200.js +2 -9
  216. package/dist/index200.js.map +1 -1
  217. package/dist/index201.js +2 -6
  218. package/dist/index201.js.map +1 -1
  219. package/dist/index202.js +2 -5
  220. package/dist/index202.js.map +1 -1
  221. package/dist/index203.js +149 -42
  222. package/dist/index203.js.map +1 -1
  223. package/dist/index204.js +8 -20
  224. package/dist/index204.js.map +1 -1
  225. package/dist/index205.js +9 -0
  226. package/dist/index205.js.map +1 -0
  227. package/dist/index206.js +8 -0
  228. package/dist/index206.js.map +1 -0
  229. package/dist/index207.js +45 -0
  230. package/dist/index207.js.map +1 -0
  231. package/dist/index208.js +24 -0
  232. package/dist/index208.js.map +1 -0
  233. package/dist/{index211.js → index215.js} +1 -1
  234. package/dist/{index211.js.map → index215.js.map} +1 -1
  235. package/dist/{index212.js → index216.js} +3 -3
  236. package/dist/{index212.js.map → index216.js.map} +1 -1
  237. package/dist/{index220.js → index224.js} +1 -1
  238. package/dist/{index220.js.map → index224.js.map} +1 -1
  239. package/dist/index23.js +4 -4
  240. package/dist/{index228.js → index232.js} +1 -1
  241. package/dist/{index228.js.map → index232.js.map} +1 -1
  242. package/dist/{index231.js → index235.js} +1 -1
  243. package/dist/{index231.js.map → index235.js.map} +1 -1
  244. package/dist/index244.js +168 -8
  245. package/dist/index244.js.map +1 -1
  246. package/dist/index245.js +3 -9
  247. package/dist/index245.js.map +1 -1
  248. package/dist/index247.js +18 -169
  249. package/dist/index247.js.map +1 -1
  250. package/dist/index248.js +10 -11
  251. package/dist/index248.js.map +1 -1
  252. package/dist/index249.js +8 -4
  253. package/dist/index249.js.map +1 -1
  254. package/dist/index25.js +3 -3
  255. package/dist/index250.js +4 -5
  256. package/dist/index250.js.map +1 -1
  257. package/dist/index251.js +168 -36
  258. package/dist/index251.js.map +1 -1
  259. package/dist/index252.js +11 -2
  260. package/dist/index252.js.map +1 -1
  261. package/dist/index253.js +5 -7
  262. package/dist/index253.js.map +1 -1
  263. package/dist/index254.js +5 -326
  264. package/dist/index254.js.map +1 -1
  265. package/dist/index255.js +36 -48
  266. package/dist/index255.js.map +1 -1
  267. package/dist/index256.js +2 -2
  268. package/dist/index257.js +7 -75
  269. package/dist/index257.js.map +1 -1
  270. package/dist/index258.js +308 -74
  271. package/dist/index258.js.map +1 -1
  272. package/dist/index259.js +45 -47
  273. package/dist/index259.js.map +1 -1
  274. package/dist/index260.js +2 -8
  275. package/dist/index260.js.map +1 -1
  276. package/dist/index261.js +75 -4
  277. package/dist/index261.js.map +1 -1
  278. package/dist/index262.js +89 -48
  279. package/dist/index262.js.map +1 -1
  280. package/dist/index263.js +52 -2
  281. package/dist/index263.js.map +1 -1
  282. package/dist/index264.js +8 -2
  283. package/dist/index264.js.map +1 -1
  284. package/dist/index265.js +8 -0
  285. package/dist/index265.js.map +1 -0
  286. package/dist/index266.js +55 -0
  287. package/dist/index266.js.map +1 -0
  288. package/dist/index267.js +5 -0
  289. package/dist/index267.js.map +1 -0
  290. package/dist/index268.js +5 -0
  291. package/dist/index268.js.map +1 -0
  292. package/dist/index27.js +1 -1
  293. package/dist/index28.js +4 -4
  294. package/dist/index29.js +3 -3
  295. package/dist/index3.js +3 -3
  296. package/dist/index30.js +4 -4
  297. package/dist/index32.js +10 -11
  298. package/dist/index33.js +1 -1
  299. package/dist/index35.js +4 -4
  300. package/dist/index36.js +5 -5
  301. package/dist/index38.js +3 -3
  302. package/dist/index39.js +4 -4
  303. package/dist/index4.js +3 -3
  304. package/dist/index40.js +1 -1
  305. package/dist/index42.js +7 -8
  306. package/dist/index43.js +9 -10
  307. package/dist/index45.js +4 -4
  308. package/dist/index46.js +142 -193
  309. package/dist/index46.js.map +1 -1
  310. package/dist/index47.js +21 -38
  311. package/dist/index47.js.map +1 -1
  312. package/dist/index48.js +36 -33
  313. package/dist/index48.js.map +1 -1
  314. package/dist/index50.js +189 -78
  315. package/dist/index50.js.map +1 -1
  316. package/dist/index51.js +36 -459
  317. package/dist/index51.js.map +1 -1
  318. package/dist/index52.js +33 -98
  319. package/dist/index52.js.map +1 -1
  320. package/dist/index53.js +151 -36
  321. package/dist/index53.js.map +1 -1
  322. package/dist/index54.js +84 -36
  323. package/dist/index54.js.map +1 -1
  324. package/dist/index55.js +456 -88
  325. package/dist/index55.js.map +1 -1
  326. package/dist/index56.js +96 -161
  327. package/dist/index56.js.map +1 -1
  328. package/dist/index57.js +35 -146
  329. package/dist/index57.js.map +1 -1
  330. package/dist/index58.js +38 -33
  331. package/dist/index58.js.map +1 -1
  332. package/dist/index59.js +89 -83
  333. package/dist/index59.js.map +1 -1
  334. package/dist/index6.js +123 -123
  335. package/dist/index60.js +157 -113
  336. package/dist/index60.js.map +1 -1
  337. package/dist/index61.js +143 -61
  338. package/dist/index61.js.map +1 -1
  339. package/dist/index62.js +33 -152
  340. package/dist/index62.js.map +1 -1
  341. package/dist/index63.js +80 -312
  342. package/dist/index63.js.map +1 -1
  343. package/dist/index64.js +118 -45
  344. package/dist/index64.js.map +1 -1
  345. package/dist/index65.js +62 -140
  346. package/dist/index65.js.map +1 -1
  347. package/dist/index66.js +152 -12
  348. package/dist/index66.js.map +1 -1
  349. package/dist/index67.js +316 -44
  350. package/dist/index67.js.map +1 -1
  351. package/dist/index68.js +44 -82
  352. package/dist/index68.js.map +1 -1
  353. package/dist/index69.js +143 -18
  354. package/dist/index69.js.map +1 -1
  355. package/dist/index7.js +9 -10
  356. package/dist/index70.js +9 -63
  357. package/dist/index70.js.map +1 -1
  358. package/dist/index71.js +45 -26
  359. package/dist/index71.js.map +1 -1
  360. package/dist/index72.js +78 -102
  361. package/dist/index72.js.map +1 -1
  362. package/dist/index73.js +18 -61
  363. package/dist/index73.js.map +1 -1
  364. package/dist/index74.js +63 -18
  365. package/dist/index74.js.map +1 -1
  366. package/dist/index75.js +27 -5
  367. package/dist/index75.js.map +1 -1
  368. package/dist/index76.js +102 -48
  369. package/dist/index76.js.map +1 -1
  370. package/dist/index77.js +58 -20
  371. package/dist/index77.js.map +1 -1
  372. package/dist/index78.js +19 -7
  373. package/dist/index78.js.map +1 -1
  374. package/dist/index79.js +8 -0
  375. package/dist/index79.js.map +1 -0
  376. package/dist/index80.js +54 -2
  377. package/dist/index80.js.map +1 -1
  378. package/dist/index81.js +24 -2
  379. package/dist/index81.js.map +1 -1
  380. package/dist/index82.js +9 -2
  381. package/dist/index82.js.map +1 -1
  382. package/dist/index84.js +2 -2
  383. package/dist/index84.js.map +1 -1
  384. package/dist/index85.js +2 -2
  385. package/dist/index85.js.map +1 -1
  386. package/dist/index86.js +1 -1
  387. package/dist/index86.js.map +1 -1
  388. package/dist/index87.js +2 -2
  389. package/dist/index87.js.map +1 -1
  390. package/dist/index88.js +1 -1
  391. package/dist/index88.js.map +1 -1
  392. package/dist/index89.js +1 -1
  393. package/dist/index89.js.map +1 -1
  394. package/dist/index9.js +5 -5
  395. package/dist/index90.js +1 -1
  396. package/dist/index90.js.map +1 -1
  397. package/dist/index91.js +1 -1
  398. package/dist/index91.js.map +1 -1
  399. package/dist/index92.js +1 -1
  400. package/dist/index92.js.map +1 -1
  401. package/dist/index93.js +1 -1
  402. package/dist/index93.js.map +1 -1
  403. package/dist/index94.js +1 -1
  404. package/dist/index94.js.map +1 -1
  405. package/dist/index95.js +1 -1
  406. package/dist/index95.js.map +1 -1
  407. package/dist/index96.js +1 -1
  408. package/dist/index96.js.map +1 -1
  409. package/dist/index97.js +1 -1
  410. package/dist/index97.js.map +1 -1
  411. package/dist/index98.js +1 -1
  412. package/dist/index98.js.map +1 -1
  413. package/dist/index99.js +1 -1
  414. package/dist/index99.js.map +1 -1
  415. package/package.json +1 -1
  416. package/dist/index240.js +0 -173
  417. package/dist/index240.js.map +0 -1
  418. package/dist/index241.js +0 -7
  419. package/dist/index241.js.map +0 -1
  420. package/dist/index243.js +0 -22
  421. package/dist/index243.js.map +0 -1
  422. package/dist/index246.js +0 -8
  423. package/dist/index246.js.map +0 -1
  424. package/dist/index49.js +0 -152
  425. package/dist/index49.js.map +0 -1
  426. package/dist/index83.js +0 -5
  427. package/dist/index83.js.map +0 -1
package/dist/index52.js CHANGED
@@ -1,101 +1,36 @@
1
- import t from "react";
2
- import { Icon as W } from "./index6.js";
3
- import { useStableId as j } from "./index201.js";
4
- import { getA11yNameAttributes as q } from "./index78.js";
5
- import "./index72.js";
6
- /* empty css */
7
- function U({
8
- disabled: c,
9
- error: a,
10
- errorMessage: E,
11
- id: N,
12
- inputStyle: r,
13
- label: s,
14
- leftIcon: l,
15
- maxLength: n,
16
- onChange: m,
17
- onClick: o,
18
- onKeyDown: $,
19
- placeholder: b,
20
- readOnly: d,
21
- rightIcon: u,
22
- style: y,
23
- tag: I,
24
- type: k = "text",
25
- value: p,
26
- className: D = "",
27
- automationId: g = "",
28
- ariaLabel: A,
29
- ariaLabelledBy: C,
30
- ariaDescribedBy: K,
31
- ariaHasPopup: R,
32
- inputProps: _,
33
- inputRef: x
34
- }) {
35
- const v = j(N, "se-input-icon"), F = I || "input", H = q({
36
- ariaLabel: A,
37
- ariaLabelledBy: C,
38
- ariaDescribedBy: K
39
- }), i = !!d && !!o, h = (e) => {
40
- if (!e) return null;
41
- const w = c || e.disabled, f = i || w ? void 0 : e.onClick;
42
- return /* @__PURE__ */ t.createElement("div", {
43
- className: `input-with-icon-icon input-with-icon-icon-${e.position} ${e.className || ""} ${w ? "disabled" : ""} ${e.disableHover ? "no-hover" : ""}`,
44
- style: e.style
45
- }, /* @__PURE__ */ t.createElement(W, {
46
- name: e.name,
47
- onClick: f,
48
- ariaLabel: f ? e.ariaLabel : void 0
49
- }));
50
- }, M = (e) => {
51
- i && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), o(e)), $?.(e);
52
- }, S = !!l, T = !!u;
53
- return /* @__PURE__ */ t.createElement("div", {
54
- className: `input-with-icon-main-container ${D}`,
55
- style: y,
56
- "data-automation-id": g
57
- }, s && /* @__PURE__ */ t.createElement("label", {
58
- className: "label-container",
59
- htmlFor: v
60
- }, s), /* @__PURE__ */ t.createElement("div", {
61
- className: `input-with-icon-wrapper ${S ? "has-left-icon" : ""} ${T ? "has-right-icon" : ""}`,
62
- onClick: i ? (e) => o(e) : void 0,
63
- style: i ? {
64
- cursor: "pointer"
65
- } : void 0
66
- }, h(l), /* @__PURE__ */ t.createElement(F, {
67
- ref: x,
68
- id: v,
69
- value: p,
70
- onChange: m ? (e) => m(e.target.value) : void 0,
71
- // In trigger mode don't attach onClick to the input — the wrapper handles it.
72
- onClick: i ? void 0 : o,
73
- onKeyDown: M,
74
- disabled: c,
75
- readOnly: d,
76
- type: k,
77
- className: `input-with-icon-element ${a ? "input-with-icon-container-error" : "input-with-icon-container-default"} ${c ? "input-with-icon-container-disabled" : ""}`,
78
- maxLength: n || void 0,
79
- placeholder: b,
80
- // In trigger mode: pointer cursor so it matches the wrapper, and no text selection
81
- // since the value is display-only — selecting "90 days" with a caret is misleading.
82
- style: i ? {
83
- cursor: "pointer",
84
- userSelect: "none",
85
- ...r
86
- } : r,
87
- "aria-haspopup": R,
88
- ...H,
89
- ..._
90
- }), h(u)), (a || n) && /* @__PURE__ */ t.createElement("div", {
91
- className: `${a ? "error-and-max-word" : "max-word-container"}`
92
- }, a && /* @__PURE__ */ t.createElement("div", {
93
- className: "error-message"
94
- }, E), n && /* @__PURE__ */ t.createElement("div", {
95
- className: "max-word"
96
- }, n && p?.length + "/" + n)));
97
- }
1
+ import d from "react";
2
+ const o = ["var(--color-green-500)", "var(--color-blue-500)", "var(--color-purple-600)", "var(--color-red-400)", "var(--color-yellow-600)"], f = ({
3
+ size: r = 40,
4
+ text: a,
5
+ textColor: l = "var(--color-white)",
6
+ backgroundColor: t = "",
7
+ className: n = "",
8
+ onClick: e,
9
+ automationId: i = ""
10
+ }) => {
11
+ const c = a?.split(" ")?.map((u) => u[0])?.join("")?.toUpperCase()?.slice(0, 2), s = () => t || o[Math.floor(Math.random() * o.length)];
12
+ return /* @__PURE__ */ d.createElement("div", {
13
+ className: `
14
+ se-design-avatar
15
+ flex items-center justify-center
16
+ rounded-full font-medium
17
+ ${e ? "cursor-pointer" : "cursor-default"}
18
+ ${n}
19
+ `,
20
+ onClick: e,
21
+ "data-automation-id": i,
22
+ style: {
23
+ width: r,
24
+ height: r,
25
+ minWidth: 20,
26
+ minHeight: 20,
27
+ backgroundColor: s(),
28
+ color: l,
29
+ fontSize: `${r * 0.4}px`
30
+ }
31
+ }, c);
32
+ };
98
33
  export {
99
- U as InputWithIcon
34
+ f as Avatar
100
35
  };
101
36
  //# sourceMappingURL=index52.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index52.js","sources":["../src/components/InputWithIcon/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon';\nimport { useStableId } from '../../utils/useStableId';\nimport { getA11yNameAttributes } from '../../utils/a11y';\nimport './styles.scss';\n\nexport interface InputIconProps {\n className?: string;\n disabled?: boolean;\n disableHover?: boolean;\n name: string;\n onClick?: () => void;\n position: 'left' | 'right';\n style?: React.CSSProperties;\n /**\n * Accessible name for the icon when it is interactive (onClick provided).\n * Required for a11y when the icon has its own onClick.\n */\n ariaLabel?: string;\n}\n\nexport interface InputWithIconProps {\n disabled?: boolean;\n error?: boolean;\n errorMessage?: string;\n id?: string;\n inputStyle?: React.CSSProperties;\n label?: string;\n leftIcon?: InputIconProps;\n maxLength?: number | undefined;\n onChange?: (value: string) => void;\n onClick?: (e: React.MouseEvent<HTMLInputElement>) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n placeholder?: string;\n readOnly?: boolean;\n rightIcon?: InputIconProps;\n style?: React.CSSProperties;\n tag?: string;\n type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';\n value: string;\n className?: string;\n automationId?: string;\n /**\n * Accessible name when no visible label exists.\n * Prefer a visible label prop instead where possible.\n */\n ariaLabel?: string;\n /**\n * ID(s) of external visible element(s) that label this input.\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this input (hints, notes, constraints).\n * Announced by screen readers after the label and value, giving extra context.\n */\n ariaDescribedBy?: string;\n /**\n * Set to \"dialog\" when this input opens a date picker or other dialog.\n */\n ariaHasPopup?: 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n /**\n * Additional props spread directly onto the inner <input> element.\n */\n inputProps?: Record<string, any>;\n /**\n * Ref forwarded to the inner <input> element.\n */\n inputRef?: React.Ref<HTMLInputElement>;\n}\n\nexport function InputWithIcon({\n disabled,\n error,\n errorMessage,\n id,\n inputStyle,\n label,\n leftIcon,\n maxLength,\n onChange,\n onClick,\n onKeyDown,\n placeholder,\n readOnly,\n rightIcon,\n style,\n tag,\n type = 'text',\n value,\n className = '',\n automationId = '',\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n ariaHasPopup,\n inputProps,\n inputRef\n}: InputWithIconProps) {\n const inputId = useStableId(id, 'se-input-icon');\n const Element = tag || 'input';\n\n const accessibleNameProps = getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy });\n\n // Trigger mode: readOnly + onClick means the whole widget acts as one interactive element\n // (e.g. a date picker trigger). ONE tab stop — the input — and the icon is always decorative.\n // The wrapper div becomes the unified mouse click zone so clicking anywhere, including the\n // icon area, fires the action without a second focusable element.\n //\n // Non-trigger mode: normal editable input. If an icon has its own onClick it is an independent\n // action (e.g. show/hide password) and becomes its own accessible button via Icon's useAccessiblePress.\n const isTriggerMode = !!readOnly && !!onClick;\n\n const renderIcon = (iconProps: InputIconProps) => {\n if (!iconProps) return null;\n\n const isIconDisabled = disabled || iconProps.disabled;\n // In trigger mode icon is always decorative — the wrapper is the click zone for the whole widget.\n // In non-trigger mode pass onClick to Icon so it uses useAccessiblePress:\n // role=\"button\", tabIndex=0, Enter/Space, focus-outline. Decorative when no onClick.\n const iconOnClick = isTriggerMode || isIconDisabled ? undefined : iconProps.onClick;\n\n return (\n <div\n className={`input-with-icon-icon input-with-icon-icon-${iconProps.position} ${iconProps.className || ''} ${isIconDisabled ? 'disabled' : ''} ${iconProps.disableHover ? 'no-hover' : ''}`}\n style={iconProps.style}\n >\n <Icon\n name={iconProps.name}\n onClick={iconOnClick}\n ariaLabel={iconOnClick ? iconProps.ariaLabel : undefined}\n />\n </div>\n );\n };\n\n // In trigger mode Enter/Space on the focused input fires the action, same as a button would.\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isTriggerMode && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onClick!(e as any);\n }\n onKeyDown?.(e);\n };\n\n const hasLeftIcon = !!leftIcon;\n const hasRightIcon = !!rightIcon;\n\n return (\n <div className={`input-with-icon-main-container ${className}`} style={style} data-automation-id={automationId}>\n {label && <label className=\"label-container\" htmlFor={inputId}>{label}</label>}\n <div\n className={`input-with-icon-wrapper ${hasLeftIcon ? 'has-left-icon' : ''} ${hasRightIcon ? 'has-right-icon' : ''}`}\n // In trigger mode the wrapper is the unified mouse click zone — clicking anywhere in the\n // widget (including the icon area) fires the action. Don't also put onClick on the input\n // element or it would double-fire when the input itself is clicked.\n onClick={isTriggerMode ? (e) => onClick!(e as any) : undefined}\n style={isTriggerMode ? { cursor: 'pointer' } : undefined}\n >\n {renderIcon(leftIcon!)}\n {React.createElement(Element, {\n ref: inputRef,\n id: inputId,\n value,\n onChange: onChange\n ? (e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.value)\n : undefined,\n // In trigger mode don't attach onClick to the input — the wrapper handles it.\n onClick: isTriggerMode ? undefined : onClick,\n onKeyDown: handleKeyDown,\n disabled,\n readOnly,\n type,\n className: `input-with-icon-element ${error ? 'input-with-icon-container-error' : 'input-with-icon-container-default'} ${disabled ? 'input-with-icon-container-disabled' : ''}`,\n maxLength: maxLength ? maxLength : undefined,\n placeholder: placeholder,\n // In trigger mode: pointer cursor so it matches the wrapper, and no text selection\n // since the value is display-only — selecting \"90 days\" with a caret is misleading.\n style: isTriggerMode\n ? { cursor: 'pointer', userSelect: 'none', ...inputStyle }\n : inputStyle,\n 'aria-haspopup': ariaHasPopup,\n ...accessibleNameProps,\n ...inputProps\n })}\n {renderIcon(rightIcon!)}\n </div>\n {(error || maxLength) &&\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n {maxLength && <div className=\"max-word\">{maxLength && value?.length + '/' + maxLength}</div>}\n </div>\n }\n </div>\n );\n}\n"],"names":["React__default","Icon","useStableId","getA11yNameAttributes","InputWithIcon","disabled","error","errorMessage","id","inputStyle","label","leftIcon","maxLength","onChange","onClick","onKeyDown","placeholder","readOnly","rightIcon","style","tag","type","value","className","automationId","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaHasPopup","inputProps","inputRef","inputId","Element","accessibleNameProps","isTriggerMode","renderIcon","iconProps","isIconDisabled","iconOnClick","undefined","React","createElement","position","disableHover","name","handleKeyDown","e","key","preventDefault","hasLeftIcon","hasRightIcon","htmlFor","cursor","ref","target","userSelect","length"],"mappings":"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"}
1
+ {"version":3,"file":"index52.js","sources":["../src/components/Avatar/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nexport type AvatarProps = {\n size?: number;\n text: string;\n textColor?: string;\n backgroundColor?: string;\n className?: string;\n onClick?: () => void;\n automationId?: string;\n};\n\nconst AVATAR_COLORS = [\n 'var(--color-green-500)',\n 'var(--color-blue-500)',\n 'var(--color-purple-600)',\n 'var(--color-red-400)',\n 'var(--color-yellow-600)'\n];\n\nexport const Avatar: FC<AvatarProps> = ({\n size = 40,\n text,\n textColor = 'var(--color-white)',\n backgroundColor = '',\n className = '',\n onClick,\n automationId = ''\n}) => {\n const initials = text\n ?.split(' ')\n ?.map((word) => word[0])\n ?.join('')\n ?.toUpperCase()\n ?.slice(0, 2);\n\n const getBackgroundColor = () => {\n if (backgroundColor) {\n return backgroundColor;\n }\n return AVATAR_COLORS[Math.floor(Math.random() * AVATAR_COLORS.length)];\n };\n\n return (\n <div\n className={`\n se-design-avatar \n flex items-center justify-center \n rounded-full font-medium\n ${onClick ? 'cursor-pointer' : 'cursor-default'}\n ${className}\n `}\n onClick={onClick}\n data-automation-id={automationId}\n style={{\n width: size,\n height: size,\n minWidth: 20,\n minHeight: 20,\n backgroundColor: getBackgroundColor(),\n color: textColor,\n fontSize: `${size * 0.4}px`\n }}\n >\n {initials}\n </div>\n );\n};\n"],"names":["React__default","AVATAR_COLORS","Avatar","size","text","textColor","backgroundColor","className","onClick","automationId","initials","split","map","word","join","toUpperCase","slice","getBackgroundColor","Math","floor","random","length","React","createElement","style","width","height","minWidth","minHeight","color","fontSize"],"mappings":"AAYA,OAAAA,OAAA;AAAA,MAAMC,IAAgB,CACpB,0BACA,yBACA,2BACA,wBACA,yBAAyB,GAGdC,IAA0BA,CAAC;AAAA,EACtCC,MAAAA,IAAO;AAAA,EACPC,MAAAA;AAAAA,EACAC,WAAAA,IAAY;AAAA,EACZC,iBAAAA,IAAkB;AAAA,EAClBC,WAAAA,IAAY;AAAA,EACZC,SAAAA;AAAAA,EACAC,cAAAA,IAAe;AACjB,MAAM;AACJ,QAAMC,IAAWN,GACbO,MAAM,GAAG,GACTC,IAAKC,OAASA,EAAK,CAAC,CAAC,GACrBC,KAAK,EAAE,GACPC,eACAC,MAAM,GAAG,CAAC,GAERC,IAAqBA,MACrBX,KAGGL,EAAciB,KAAKC,MAAMD,KAAKE,WAAWnB,EAAcoB,MAAM,CAAC;AAGvE,SACEC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEhB,WAAW;AAAA;AAAA;AAAA;AAAA,UAIPC,IAAU,mBAAmB,gBAAgB;AAAA,UAC7CD,CAAS;AAAA;AAAA,IAEbC,SAAAA;AAAAA,IACA,sBAAoBC;AAAAA,IACpBe,OAAO;AAAA,MACLC,OAAOtB;AAAAA,MACPuB,QAAQvB;AAAAA,MACRwB,UAAU;AAAA,MACVC,WAAW;AAAA,MACXtB,iBAAiBW,EAAAA;AAAAA,MACjBY,OAAOxB;AAAAA,MACPyB,UAAU,GAAG3B,IAAO,GAAG;AAAA,IAAA;AAAA,EACzB,GAECO,CACE;AAET;"}
package/dist/index53.js CHANGED
@@ -1,41 +1,156 @@
1
- import e, { useEffect as d } from "react";
2
- import { delay as m } from "./index241.js";
3
- import { Icon as i } from "./index6.js";
4
- const g = (r) => {
5
- const {
6
- title: a = "",
7
- itemsList: t = [],
8
- handleDownload: l,
9
- backgroundColor: n = "var(--color-white)",
10
- titleBackgroundColor: c = "var(--color-blue-50)"
11
- } = r;
12
- return d(() => {
13
- t?.length > 0 && t?.forEach((o) => {
14
- m(2e3).then(() => {
15
- l(o);
16
- });
17
- });
18
- }, [t?.length]), /* @__PURE__ */ e.createElement("div", {
19
- className: "download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]",
20
- style: {
21
- backgroundColor: n
22
- }
23
- }, /* @__PURE__ */ e.createElement("div", {
24
- className: "p-4 text-base font-medium",
25
- style: {
26
- backgroundColor: c
1
+ import t, { useState as C, useMemo as f, useEffect as D } from "react";
2
+ import "./index3.js";
3
+ import "./index4.js";
4
+ import { Icon as w } from "./index6.js";
5
+ import "./index76.js";
6
+ import { useTabsA11y as O } from "./index77.js";
7
+ import { MenuList as _ } from "./index18.js";
8
+ import "./index9.js";
9
+ /* empty css */
10
+ /* empty css */
11
+ /* empty css */
12
+ /* empty css */
13
+ import "react-dom";
14
+ import "./index17.js";
15
+ import { Popover as $ } from "./index19.js";
16
+ /* empty css */
17
+ /* empty css */
18
+ /* empty css */
19
+ /* empty css */
20
+ /* empty css */
21
+ /* empty css */
22
+ /* empty css */
23
+ /* empty css */
24
+ /* empty css */
25
+ /* empty css */
26
+ /* empty css */
27
+ /* empty css */
28
+ /* empty css */
29
+ /* empty css */
30
+ /* empty css */
31
+ /* empty css */
32
+ /* empty css */
33
+ import "./index46.js";
34
+ import "./index47.js";
35
+ import "./index48.js";
36
+ /* empty css */
37
+ /* empty css */
38
+ import { TabButton as j } from "./index235.js";
39
+ /* empty css */
40
+ /* empty css */
41
+ /* empty css */
42
+ /* empty css */
43
+ /* empty css */
44
+ import "./index64.js";
45
+ /* empty css */
46
+ /* empty css */
47
+ import "./index68.js";
48
+ /* empty css */
49
+ function m() {
50
+ return m = Object.assign ? Object.assign.bind() : function(i) {
51
+ for (var o = 1; o < arguments.length; o++) {
52
+ var n = arguments[o];
53
+ for (var s in n) ({}).hasOwnProperty.call(n, s) && (i[s] = n[s]);
27
54
  }
28
- }, a), t?.map((o) => /* @__PURE__ */ e.createElement("div", {
29
- className: " download-item flex items-center gap-2 px-4 pt-4 last:pb-4"
30
- }, /* @__PURE__ */ e.createElement("span", {
31
- className: "text-base font-normal flex-1"
32
- }, o.label), /* @__PURE__ */ e.createElement(i, {
33
- name: "checked-circle",
34
- stroke: "var(--color-green-500)",
35
- size: 16
36
- }))));
55
+ return i;
56
+ }, m.apply(null, arguments);
57
+ }
58
+ const Dr = ({
59
+ defaultActiveNavigationItem: i,
60
+ navigationItems: o,
61
+ onNavigationItemChange: n,
62
+ isCompactView: s = !1,
63
+ keyboardActivationMode: x = "automatic",
64
+ orientation: y = "horizontal",
65
+ ariaLabel: E = "Sections",
66
+ ariaLabelledBy: P,
67
+ idBase: h = ""
68
+ }) => {
69
+ const N = i || o[0]?.id || "", [p, c] = C(N), v = f(() => o.filter((r) => !r.disabled).map((r) => r.id), [o]), {
70
+ getTabProps: T,
71
+ setFocusedTabId: d,
72
+ handleKeyDown: k,
73
+ getPanelProps: b,
74
+ getTabListProps: F
75
+ } = O({
76
+ itemIds: v,
77
+ orientation: y,
78
+ activeItem: p,
79
+ idBase: h
80
+ });
81
+ D(() => {
82
+ i && (c(i), d(i));
83
+ }, [i, d]);
84
+ const u = (r) => {
85
+ r?.disabled || (c(r?.id), n?.(r?.id));
86
+ }, S = (r) => {
87
+ const e = o.find((a) => a.id === r);
88
+ !e || e.disabled || (c(r), n?.(r));
89
+ }, g = f(() => o.map((r) => {
90
+ const e = r.id === p, a = e && r.panelHasFocusableContent === !1 ? 0 : void 0;
91
+ return /* @__PURE__ */ t.createElement("div", m({
92
+ key: r.id
93
+ }, b(r.id), {
94
+ hidden: !e,
95
+ tabIndex: a,
96
+ className: `navigation-item-content ${e ? "block" : "hidden"}`
97
+ }), e && r?.renderNavigationItemContent?.(r));
98
+ }), [o, p, b]), B = o.find((r) => r.id === p);
99
+ return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("div", m({
100
+ className: "se-design-navigation-bar flex items-center gap-4",
101
+ "data-automation-id": "navigation-bar-container"
102
+ }, F({
103
+ ariaLabel: E,
104
+ ariaLabelledBy: P
105
+ })), !s && o.map((r) => {
106
+ const e = p === r.id, a = r.disabled, l = T(r.id);
107
+ return /* @__PURE__ */ t.createElement(j, {
108
+ key: r.id,
109
+ ref: l.ref,
110
+ tabIndex: l.tabIndex,
111
+ id: l.id,
112
+ label: r.label,
113
+ isSelected: e,
114
+ isDisabled: a,
115
+ panelId: l["aria-controls"],
116
+ onClick: () => u(r),
117
+ onFocus: () => {
118
+ l.onFocus(), x === "automatic" && !a && S(r.id);
119
+ },
120
+ onKeyDown: k,
121
+ className: `text-base ${a ? "text-[var(--color-gray-400)] cursor-not-allowed" : e ? "text-[var(--color-gray-900)] font-bold hover:cursor-pointer" : "text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer"} focus-outline rounded-[6px]`,
122
+ automationId: `navigation-item-${r.id}`
123
+ });
124
+ }), s && /* @__PURE__ */ t.createElement($, {
125
+ className: "navigation-bar-popover",
126
+ position: "bottom-left",
127
+ noBorder: !0,
128
+ renderPopoverSrcElement: ({
129
+ displayPopover: r
130
+ }) => /* @__PURE__ */ t.createElement("div", {
131
+ className: "navigation-bar-popover-src-element flex items-center gap-1 cursor-pointer"
132
+ }, /* @__PURE__ */ t.createElement("label", {
133
+ className: "font-semibold cursor-pointer"
134
+ }, B?.label), /* @__PURE__ */ t.createElement(w, {
135
+ name: "chevron",
136
+ rotation: r ? "180" : "0"
137
+ })),
138
+ renderPopoverContents: ({
139
+ closePopoverCb: r
140
+ }) => /* @__PURE__ */ t.createElement(_, {
141
+ items: o.map((e) => ({
142
+ id: e.id,
143
+ label: e.label,
144
+ onClick: () => {
145
+ u(e), r();
146
+ }
147
+ }))
148
+ })
149
+ })), /* @__PURE__ */ t.createElement("div", {
150
+ className: "se-design-navigation-bar-content"
151
+ }, g));
37
152
  };
38
153
  export {
39
- g as DownloadWidget
154
+ Dr as NavigationBar
40
155
  };
41
156
  //# sourceMappingURL=index53.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index53.js","sources":["../src/components/DownloadWidget/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { delay } from 'utils/delay';\n\nimport { Icon } from '../Icon';\n\ntype ItemType = { label: string; id?: number; metadata?: any };\n\ntype DownloadWidgetProps = {\n title: string;\n itemsList: ItemType[];\n handleDownload: (downloadItem?: any) => void;\n backgroundColor?: string;\n titleBackgroundColor?: string;\n};\n\nexport const DownloadWidget = (props: DownloadWidgetProps) => {\n const {\n title = '',\n itemsList = [],\n handleDownload,\n backgroundColor = 'var(--color-white)',\n titleBackgroundColor = 'var(--color-blue-50)'\n } = props;\n\n useEffect(() => {\n if (itemsList?.length > 0) {\n itemsList?.forEach((downloadItem) => {\n delay(2000).then(() => {\n handleDownload(downloadItem);\n });\n });\n }\n }, [itemsList?.length]);\n\n return (\n <div\n className=\"download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]\"\n style={{ backgroundColor }}\n >\n <div className=\"p-4 text-base font-medium\" style={{ backgroundColor: titleBackgroundColor }}>\n {title}\n </div>\n {itemsList?.map((item) => (\n <div className=\" download-item flex items-center gap-2 px-4 pt-4 last:pb-4\">\n <span className=\"text-base font-normal flex-1\">{item.label}</span>\n <Icon name=\"checked-circle\" stroke=\"var(--color-green-500)\" size={16} />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["React__default","useEffect","delay","Icon","DownloadWidget","props","title","itemsList","handleDownload","backgroundColor","titleBackgroundColor","length","forEach","downloadItem","then","React","createElement","className","style","map","item","label","name","stroke","size"],"mappings":"AAgBO,OAAAA,KAAA,aAAAC,SAAA;AAAA,SAAA,SAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,MAAMC,IAAiBA,CAACC,MAA+B;AAC5D,QAAM;AAAA,IACJC,OAAAA,IAAQ;AAAA,IACRC,WAAAA,IAAY,CAAA;AAAA,IACZC,gBAAAA;AAAAA,IACAC,iBAAAA,IAAkB;AAAA,IAClBC,sBAAAA,IAAuB;AAAA,EAAA,IACrBL;AAEJJ,SAAAA,EAAU,MAAM;AACd,IAAIM,GAAWI,SAAS,KACtBJ,GAAWK,QAASC,CAAAA,MAAiB;AACnCX,MAAAA,EAAM,GAAI,EAAEY,KAAK,MAAM;AACrBN,QAAAA,EAAeK,CAAY;AAAA,MAC7B,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAACN,GAAWI,MAAM,CAAC,GAGpBI,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,OAAO;AAAA,MAAET,iBAAAA;AAAAA,IAAAA;AAAAA,EAAgB,GAEzBM,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAA4BC,OAAO;AAAA,MAAET,iBAAiBC;AAAAA,IAAAA;AAAAA,EAAqB,GACvFJ,CACE,GACJC,GAAWY,IAAKC,CAAAA,MACfL,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACbF,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,EAAA,GAAgCG,EAAKC,KAAY,GACjEN,gBAAAA,EAAAC,cAACb,GAAI;AAAA,IAACmB,MAAK;AAAA,IAAiBC,QAAO;AAAA,IAAyBC,MAAM;AAAA,EAAA,CAAK,CACpE,CACN,CACE;AAET;"}
1
+ {"version":3,"file":"index53.js","sources":["../src/components/NavigationBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode, useState,useMemo, useEffect } from 'react';\nimport { Popover, MenuList, Icon } from 'src/components';\nimport { TabButton } from './TabButton';\nimport { useTabsA11y } from '../../utils/a11y';\n\nexport interface NavigationItemProps {\n label: string;\n id: string;\n disabled?: boolean;\n panelHasFocusableContent?: boolean; // If false, the panel itself will be tabbable when active\n renderNavigationItemContent?: (navigationItem: NavigationItemProps) => ReactNode;\n}\n\ninterface NavigationBarProps {\n defaultActiveNavigationItem?: string;\n navigationItems: NavigationItemProps[];\n isCompactView?: boolean;\n onNavigationItemChange?: (navigationItemId: string) => void;\n keyboardActivationMode?: 'automatic' | 'manual'; //manual: arrow keys move focus only; Enter/Space activates the focused tab\n orientation?: 'horizontal' | 'vertical'; // required for aria and arrow shortcuts\n ariaLabel?: string; // Used when ariaLabelledBy is not provided\n ariaLabelledBy?: string; // ID of element that labels this tablist (preferred over ariaLabel when visible label exists)\n idBase?: string; //optional ID namespace to avoid collisions\n}\n\nexport const NavigationBar: FC<NavigationBarProps> = ({\n defaultActiveNavigationItem,\n navigationItems,\n onNavigationItemChange,\n isCompactView = false,\n keyboardActivationMode = 'automatic',\n orientation = 'horizontal',\n ariaLabel = 'Sections',\n ariaLabelledBy,\n idBase = ''\n}) => {\n const defaultNavigationItemId = defaultActiveNavigationItem || navigationItems[0]?.id || '';\n const [activeNavigationItem, setActiveNavigationItem] = useState<string>(defaultNavigationItemId);\n\n // Exclude disabled tabs from roving focus (keeps native disabled buttons, avoids focus-on-disabled).\n const itemIds = useMemo(\n () => navigationItems.filter((item) => !item.disabled).map((item) => item.id),\n [navigationItems]\n );\n\n // Hook for managing Tabs (NavigationBar) focus and ARIA props.\n const { getTabProps, setFocusedTabId, handleKeyDown, getPanelProps, getTabListProps } = useTabsA11y({\n itemIds,\n orientation,\n activeItem: activeNavigationItem,\n idBase\n });\n\n useEffect(() => {\n if (defaultActiveNavigationItem) {\n setActiveNavigationItem(defaultActiveNavigationItem);\n setFocusedTabId(defaultActiveNavigationItem);\n }\n }, [defaultActiveNavigationItem, setFocusedTabId]);\n\n const handleNavigationItemClick = (navigationItem: NavigationItemProps) => {\n if (navigationItem?.disabled) return;\n setActiveNavigationItem(navigationItem?.id);\n onNavigationItemChange?.(navigationItem?.id);\n };\n\n const activateTabById = (id: string) => {\n const item = navigationItems.find((i) => i.id === id);\n if (!item || item.disabled) return;\n setActiveNavigationItem(id);\n onNavigationItemChange?.(id);\n };\n\n const renderPanels = useMemo(() => {\n return navigationItems.map((navigationItem) => {\n const isSelected = navigationItem.id === activeNavigationItem;\n const panelTabIndex = isSelected && navigationItem.panelHasFocusableContent === false ? 0 : undefined;\n\n return (\n <div\n key={navigationItem.id}\n {...getPanelProps(navigationItem.id)}\n hidden={!isSelected}\n tabIndex={panelTabIndex}\n className={`navigation-item-content ${isSelected ? 'block' : 'hidden'}`}\n >\n {isSelected && navigationItem?.renderNavigationItemContent?.(navigationItem)}\n </div>\n );\n });\n }, [navigationItems, activeNavigationItem, getPanelProps]);\n\n const activeNavigationItemData = navigationItems.find((item) => item.id === activeNavigationItem);\n\n return (\n <>\n <div\n className=\"se-design-navigation-bar flex items-center gap-4\"\n data-automation-id=\"navigation-bar-container\"\n {...getTabListProps({ ariaLabel, ariaLabelledBy })}\n >\n {!isCompactView && navigationItems.map((navigationItem) => {\n const isSelected = activeNavigationItem === navigationItem.id;\n const isDisabled = navigationItem.disabled;\n\n const tabProps = getTabProps(navigationItem.id);\n\n return (\n <TabButton\n key={navigationItem.id}\n ref={tabProps.ref as (el: HTMLButtonElement | null) => void}\n tabIndex={tabProps.tabIndex}\n id={tabProps.id}\n label={navigationItem.label}\n isSelected={isSelected}\n isDisabled={isDisabled}\n panelId={tabProps['aria-controls']}\n onClick={() => handleNavigationItemClick(navigationItem)}\n onFocus={() => {\n tabProps.onFocus();\n if (keyboardActivationMode === 'automatic' && !isDisabled) {\n activateTabById(navigationItem.id);\n }\n }}\n onKeyDown={handleKeyDown}\n className={`text-base ${\n isDisabled\n ? 'text-[var(--color-gray-400)] cursor-not-allowed'\n : isSelected\n ? 'text-[var(--color-gray-900)] font-bold hover:cursor-pointer'\n : 'text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer'\n } focus-outline rounded-[6px]`}\n automationId={`navigation-item-${navigationItem.id}`}\n />\n );\n })}\n {isCompactView && (\n <Popover\n className=\"navigation-bar-popover\"\n position=\"bottom-left\"\n noBorder\n renderPopoverSrcElement={({ displayPopover }) => (\n <div className=\"navigation-bar-popover-src-element flex items-center gap-1 cursor-pointer\">\n <label className=\"font-semibold cursor-pointer\">{activeNavigationItemData?.label}</label>\n <Icon name=\"chevron\" rotation={displayPopover ? '180' : '0'} />\n </div>\n )}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList items={navigationItems.map((item) => ({\n id: item.id,\n label: item.label,\n onClick: () => {\n handleNavigationItemClick(item);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n </div>\n\n <div className=\"se-design-navigation-bar-content\">\n {renderPanels}\n </div>\n </>\n );\n};\n"],"names":["NavigationBar","defaultActiveNavigationItem","navigationItems","onNavigationItemChange","isCompactView","keyboardActivationMode","orientation","ariaLabel","ariaLabelledBy","idBase","defaultNavigationItemId","id","activeNavigationItem","setActiveNavigationItem","useState","itemIds","useMemo","filter","item","disabled","map","getTabProps","setFocusedTabId","handleKeyDown","getPanelProps","getTabListProps","useTabsA11y","activeItem","useEffect","handleNavigationItemClick","navigationItem","activateTabById","find","i","renderPanels","isSelected","panelTabIndex","panelHasFocusableContent","undefined","React","createElement","_extends","key","hidden","tabIndex","className","renderNavigationItemContent","activeNavigationItemData","Fragment","isDisabled","tabProps","TabButton","ref","label","panelId","onClick","onFocus","onKeyDown","automationId","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","rotation","renderPopoverContents","closePopoverCb","MenuList","items"],"mappings":"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"}
package/dist/index54.js CHANGED
@@ -1,41 +1,89 @@
1
- import a from "react";
2
- const u = ({
3
- checkedRadioOption: t,
4
- optionList: r,
5
- onChange: l,
6
- switchWidth: c,
7
- automationId: i = ""
8
- }) => {
9
- const s = (e) => {
10
- l && l(e);
11
- };
12
- return /* @__PURE__ */ a.createElement("div", {
13
- className: "flex rounded-full border border-gray-300 bg-white min-w-[110px] h-[34px]",
14
- role: "radiogroup",
15
- "aria-label": "Switch options",
16
- "data-automation-id": i,
17
- style: {
18
- width: c
19
- // Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.
1
+ import t from "react";
2
+ import { Icon as u } from "./index6.js";
3
+ import { Popover as v } from "./index19.js";
4
+ import { MenuList as E } from "./index18.js";
5
+ /* empty css */
6
+ function c() {
7
+ return c = Object.assign ? Object.assign.bind() : function(a) {
8
+ for (var n = 1; n < arguments.length; n++) {
9
+ var i = arguments[n];
10
+ for (var o in i) ({}).hasOwnProperty.call(i, o) && (a[o] = i[o]);
20
11
  }
21
- }, r.map((e) => /* @__PURE__ */ a.createElement("div", {
22
- key: e.value,
23
- className: `relative flex-1 flex items-center block py-2 px-4 rounded-[24px] w-full text-center cursor-pointer transition-all duration-200 ${e.value === t ? "bg-[var(--color-blue-100)] text-[var(--color-blue-500)] shadow-sm" : "text-gray-700 hover:text-gray-900"}`,
24
- onClick: () => s(e.value),
25
- "data-automation-id": `radio-switch-option-${e.value}`
26
- }, /* @__PURE__ */ a.createElement("input", {
27
- type: "radio",
28
- name: "switch",
29
- id: `switch-${e.value}`,
30
- checked: e.value === t,
31
- className: "sr-only"
32
- // Hide the input but keep it accessible
33
- }), /* @__PURE__ */ a.createElement("label", {
34
- htmlFor: `switch-${e.value}`,
35
- className: " cursor-pointer "
36
- }, e.label))));
12
+ return a;
13
+ }, c.apply(null, arguments);
14
+ }
15
+ const s = {
16
+ container: "se-design-breadcrumbs flex items-center",
17
+ itemLabel: "se-design-breadcrumbs-item-label inline-flex items-center w-fit"
18
+ }, P = ({
19
+ crumbs: a,
20
+ onCrumbClick: n,
21
+ className: i = "",
22
+ ariaLabel: o = "Breadcrumb",
23
+ headingLevel: g = 1
24
+ }) => {
25
+ if (a?.length === 1) {
26
+ const e = `h${g}`;
27
+ return /* @__PURE__ */ t.createElement("div", {
28
+ className: `${s.container} ${i}`,
29
+ "data-automation-id": "breadcrumbs-container"
30
+ }, /* @__PURE__ */ t.createElement(e, {
31
+ className: `${s.itemLabel} single-crumb`
32
+ }, a[0].label));
33
+ }
34
+ const m = a?.length > 3, d = m ? a?.slice(-2) : a, b = m ? a?.slice(0, -2) : [], l = (e) => e === d?.length - 1, f = (e) => l(e) ? `${s.itemLabel} highlighted-crumb` : `${s.itemLabel} unhighlighted-crumb`;
35
+ return /* @__PURE__ */ t.createElement("nav", {
36
+ className: `${s.container} ${i}`,
37
+ "aria-label": o,
38
+ "data-automation-id": "breadcrumbs-container"
39
+ }, b?.length > 0 && /* @__PURE__ */ t.createElement(v, {
40
+ className: "se-design-overflow-breadcrumbs",
41
+ position: "bottom-left",
42
+ noBorder: !0,
43
+ ariaLabel: "Show more breadcrumbs",
44
+ renderPopoverSrcElement: ({
45
+ displayPopover: e
46
+ }) => /* @__PURE__ */ t.createElement("div", {
47
+ className: `overflow-breadcrumbs-src-element px-1.5 py-1.5 rounded-md hover:cursor-pointer ${e ? "bg-[var(--color-blue-200)]" : ""}`,
48
+ "data-automation-id": "breadcrumbs-kebab-menu"
49
+ }, /* @__PURE__ */ t.createElement(u, {
50
+ name: "kebab-menu"
51
+ })),
52
+ renderPopoverContents: ({
53
+ closePopoverCb: e
54
+ }) => /* @__PURE__ */ t.createElement(E, {
55
+ items: b.map((r) => ({
56
+ id: String(r?.id),
57
+ label: r?.label,
58
+ onClick: () => {
59
+ n?.(r), e();
60
+ }
61
+ }))
62
+ })
63
+ }), /* @__PURE__ */ t.createElement("ol", {
64
+ className: "se-design-breadcrumbs-list inline-flex items-center"
65
+ }, d?.map((e, r) => {
66
+ const p = l(r) ? "span" : "a";
67
+ return /* @__PURE__ */ t.createElement("li", {
68
+ key: e?.id,
69
+ className: "se-design-breadcrumbs-item inline-flex items-center w-fit text-xl"
70
+ }, (r > 0 || m) && /* @__PURE__ */ t.createElement(u, {
71
+ name: "chevron",
72
+ rotation: "270"
73
+ }), /* @__PURE__ */ t.createElement(p, c({}, l(r) ? {
74
+ "aria-current": "page"
75
+ } : {
76
+ href: e.href ?? "#",
77
+ onClick: (h) => {
78
+ e.href || h.preventDefault(), n?.(e);
79
+ }
80
+ }, {
81
+ className: `${f(r)}${l(r) ? "" : " cursor-pointer focus-outline"}`,
82
+ "data-automation-id": e?.automationId || `breadcrumbs-item-${r}`
83
+ }), e?.label));
84
+ })));
37
85
  };
38
86
  export {
39
- u as RadioSwitch
87
+ P as BreadCrumbs
40
88
  };
41
89
  //# sourceMappingURL=index54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index54.js","sources":["../src/components/RadioSwitch/index.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * This is Radio Switch, Only one option can be selected at a time.\n * There can be multiple options, but only one can be selected at a time.\n */\nexport interface RadioSwitchOption {\n label: string;\n value: string;\n}\n\nexport interface RadioSwitchProps {\n checkedRadioOption?: string;\n optionList: RadioSwitchOption[];\n onChange?: (value: string) => void;\n switchWidth?: string;\n automationId?: string;\n}\n\nexport const RadioSwitch: React.FC<RadioSwitchProps> = ({ checkedRadioOption, optionList, onChange, switchWidth, automationId = '' }) => {\n const handleChange = (value: string) => {\n if (onChange) {\n onChange(value);\n }\n };\n\n return (\n <div\n className=\"flex rounded-full border border-gray-300 bg-white min-w-[110px] h-[34px]\"\n role=\"radiogroup\"\n aria-label=\"Switch options\"\n data-automation-id={automationId}\n style={{\n width: switchWidth\n // Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.\n }}\n >\n {optionList.map((option) => (\n <div\n key={option.value}\n className={`relative flex-1 flex items-center block py-2 px-4 rounded-[24px] w-full text-center cursor-pointer transition-all duration-200 ${\n option.value === checkedRadioOption\n ? 'bg-[var(--color-blue-100)] text-[var(--color-blue-500)] shadow-sm'\n : 'text-gray-700 hover:text-gray-900'\n }`}\n onClick={() => handleChange(option.value)}\n data-automation-id={`radio-switch-option-${option.value}`}\n >\n <input\n type=\"radio\"\n name=\"switch\"\n id={`switch-${option.value}`}\n checked={option.value === checkedRadioOption}\n className=\"sr-only\" // Hide the input but keep it accessible\n />\n <label htmlFor={`switch-${option.value}`} className={' cursor-pointer '}>\n {option.label}\n </label>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["RadioSwitch","checkedRadioOption","optionList","onChange","switchWidth","automationId","handleChange","value","React","createElement","className","role","style","width","map","option","key","onClick","type","name","id","checked","htmlFor","label"],"mappings":";AAmBO,MAAMA,IAA0CA,CAAC;AAAA,EAAEC,oBAAAA;AAAAA,EAAoBC,YAAAA;AAAAA,EAAYC,UAAAA;AAAAA,EAAUC,aAAAA;AAAAA,EAAaC,cAAAA,IAAe;AAAG,MAAM;AACvI,QAAMC,IAAeA,CAACC,MAAkB;AACtC,IAAIJ,KACFA,EAASI,CAAK;AAAA,EAElB;AAEA,SACEC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,MAAK;AAAA,IACL,cAAW;AAAA,IACX,sBAAoBN;AAAAA,IACpBO,OAAO;AAAA,MACLC,OAAOT;AAAAA;AAAAA,IAAAA;AAAAA,EAET,GAECF,EAAWY,IAAKC,CAAAA,MACfP,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEO,KAAKD,EAAOR;AAAAA,IACZG,WAAW,kIACTK,EAAOR,UAAUN,IACb,sEACA,mCAAmC;AAAA,IAEzCgB,SAASA,MAAMX,EAAaS,EAAOR,KAAK;AAAA,IACxC,sBAAoB,uBAAuBQ,EAAOR,KAAK;AAAA,EAAA,GAEvDC,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACES,MAAK;AAAA,IACLC,MAAK;AAAA,IACLC,IAAI,UAAUL,EAAOR,KAAK;AAAA,IAC1Bc,SAASN,EAAOR,UAAUN;AAAAA,IAC1BS,WAAU;AAAA;AAAA,EAAA,CACX,GACDF,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IAAOa,SAAS,UAAUP,EAAOR,KAAK;AAAA,IAAIG,WAAW;AAAA,EAAA,GAClDK,EAAOQ,KACH,CACJ,CACN,CACE;AAET;"}
1
+ {"version":3,"file":"index54.js","sources":["../src/components/BreadCrumbs/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon';\nimport { Popover } from '../Popover';\nimport { MenuList } from '../MenuList';\n\nimport './style.scss';\n\ninterface Crumb {\n id: string | number;\n label: string;\n href?: string;\n automationId?: string;\n}\n\nconst breadCrumbsClassNames = {\n container: 'se-design-breadcrumbs flex items-center',\n itemLabel: 'se-design-breadcrumbs-item-label inline-flex items-center w-fit',\n};\n\ninterface BreadCrumbsProps {\n crumbs: Crumb[];\n onCrumbClick?: (crumb: Crumb) => void;\n className?: any;\n /** Accessible name for the breadcrumb navigation landmark. Defaults to \"Breadcrumb\". */\n ariaLabel?: string;\n /** Heading level to use when only a single crumb is provided. Defaults to 1. */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nexport const BreadCrumbs: React.FC<BreadCrumbsProps> = ({ crumbs, onCrumbClick, className = '', ariaLabel = 'Breadcrumb', headingLevel = 1 }) => {\n const isSingleCrumb = crumbs?.length === 1;\n\n if (isSingleCrumb) {\n const HeadingTag = `h${headingLevel}` as React.ElementType;\n return (\n <div className={`${breadCrumbsClassNames.container} ${className}`} data-automation-id=\"breadcrumbs-container\">\n <HeadingTag className={`${breadCrumbsClassNames.itemLabel} single-crumb`}>\n {crumbs[0].label}\n </HeadingTag>\n </div>\n );\n }\n\n const shouldShowDropdown = crumbs?.length > 3;\n const visibleCrumbs = shouldShowDropdown ? crumbs?.slice(-2) : crumbs;\n const dropdownCrumbs = shouldShowDropdown ? crumbs?.slice(0, -2) : [];\n\n const isCurrentPage = (index: number) => index === visibleCrumbs?.length - 1;\n\n const getLabelClassNames = (index: number) => {\n if (isCurrentPage(index)) {\n return `${breadCrumbsClassNames.itemLabel} highlighted-crumb`;\n }\n return `${breadCrumbsClassNames.itemLabel} unhighlighted-crumb`;\n };\n\n return (\n <nav className={`${breadCrumbsClassNames.container} ${className}`} aria-label={ariaLabel} data-automation-id=\"breadcrumbs-container\">\n {dropdownCrumbs?.length > 0 && (\n <Popover\n className=\"se-design-overflow-breadcrumbs\"\n position=\"bottom-left\"\n noBorder\n ariaLabel=\"Show more breadcrumbs\"\n renderPopoverSrcElement={({ displayPopover }) => {\n return (\n <div\n className={`overflow-breadcrumbs-src-element px-1.5 py-1.5 rounded-md hover:cursor-pointer ${\n displayPopover ? 'bg-[var(--color-blue-200)]' : ''\n }`}\n data-automation-id=\"breadcrumbs-kebab-menu\"\n >\n <Icon name=\"kebab-menu\" />\n </div>\n );\n }}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList\n items={dropdownCrumbs.map((crumb) => ({\n id: String(crumb?.id),\n label: crumb?.label,\n onClick: () => {\n onCrumbClick?.(crumb);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n <ol className=\"se-design-breadcrumbs-list inline-flex items-center\">\n {visibleCrumbs?.map((crumb, index) => {\n const Tag = isCurrentPage(index) ? 'span' : 'a';// current page should not be clickable\n return (\n <li key={crumb?.id} className=\"se-design-breadcrumbs-item inline-flex items-center w-fit text-xl\">\n {(index > 0 || shouldShowDropdown) && <Icon name=\"chevron\" rotation={'270'} />}\n <Tag\n {...(isCurrentPage(index)\n ? { 'aria-current': 'page' as const }\n : {\n href: crumb.href ?? '#',\n onClick: (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (!crumb.href) e.preventDefault();\n onCrumbClick?.(crumb);\n }\n })}\n className={`${getLabelClassNames(index)}${!isCurrentPage(index) ? ' cursor-pointer focus-outline' : ''}`}\n data-automation-id={crumb?.automationId || `breadcrumbs-item-${index}`}\n >\n {crumb?.label}\n </Tag>\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n"],"names":["breadCrumbsClassNames","container","itemLabel","BreadCrumbs","crumbs","onCrumbClick","className","ariaLabel","headingLevel","length","HeadingTag","React","createElement","label","shouldShowDropdown","visibleCrumbs","slice","dropdownCrumbs","isCurrentPage","index","getLabelClassNames","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","renderPopoverContents","closePopoverCb","MenuList","items","map","crumb","id","String","onClick","Tag","key","rotation","_extends","href","e","preventDefault","automationId"],"mappings":"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"}