@trebired/frontend 0.3.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 (433) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE +661 -0
  3. package/README.md +212 -0
  4. package/dist/actions/buttons.d.ts +8 -0
  5. package/dist/actions/buttons.d.ts.map +1 -0
  6. package/dist/actions/buttons.js +116 -0
  7. package/dist/actions/buttons.js.map +1 -0
  8. package/dist/actions/components/index.d.ts +26 -0
  9. package/dist/actions/components/index.d.ts.map +1 -0
  10. package/dist/actions/components/index.js +25 -0
  11. package/dist/actions/components/index.js.map +1 -0
  12. package/dist/actions/confetti.d.ts +12 -0
  13. package/dist/actions/confetti.d.ts.map +1 -0
  14. package/dist/actions/confetti.js +36 -0
  15. package/dist/actions/confetti.js.map +1 -0
  16. package/dist/actions/forms.d.ts +12 -0
  17. package/dist/actions/forms.d.ts.map +1 -0
  18. package/dist/actions/forms.js +159 -0
  19. package/dist/actions/forms.js.map +1 -0
  20. package/dist/actions/index.d.ts +8 -0
  21. package/dist/actions/index.d.ts.map +1 -0
  22. package/dist/actions/index.js +7 -0
  23. package/dist/actions/index.js.map +1 -0
  24. package/dist/actions/request.d.ts +13 -0
  25. package/dist/actions/request.d.ts.map +1 -0
  26. package/dist/actions/request.js +83 -0
  27. package/dist/actions/request.js.map +1 -0
  28. package/dist/actions/response.d.ts +18 -0
  29. package/dist/actions/response.d.ts.map +1 -0
  30. package/dist/actions/response.js +104 -0
  31. package/dist/actions/response.js.map +1 -0
  32. package/dist/actions/styles/index.scss +42 -0
  33. package/dist/actions/triggers.d.ts +24 -0
  34. package/dist/actions/triggers.d.ts.map +1 -0
  35. package/dist/actions/triggers.js +107 -0
  36. package/dist/actions/triggers.js.map +1 -0
  37. package/dist/actions/types.d.ts +63 -0
  38. package/dist/actions/types.d.ts.map +1 -0
  39. package/dist/actions/types.js +2 -0
  40. package/dist/actions/types.js.map +1 -0
  41. package/dist/components/index.d.ts +5 -0
  42. package/dist/components/index.d.ts.map +1 -0
  43. package/dist/components/index.js +11 -0
  44. package/dist/components/index.js.map +1 -0
  45. package/dist/dom/index.d.ts +26 -0
  46. package/dist/dom/index.d.ts.map +1 -0
  47. package/dist/dom/index.js +164 -0
  48. package/dist/dom/index.js.map +1 -0
  49. package/dist/flash/components/index.d.ts +28 -0
  50. package/dist/flash/components/index.d.ts.map +1 -0
  51. package/dist/flash/components/index.js +27 -0
  52. package/dist/flash/components/index.js.map +1 -0
  53. package/dist/flash/dialogs.d.ts +6 -0
  54. package/dist/flash/dialogs.d.ts.map +1 -0
  55. package/dist/flash/dialogs.js +120 -0
  56. package/dist/flash/dialogs.js.map +1 -0
  57. package/dist/flash/duration.d.ts +8 -0
  58. package/dist/flash/duration.d.ts.map +1 -0
  59. package/dist/flash/duration.js +20 -0
  60. package/dist/flash/duration.js.map +1 -0
  61. package/dist/flash/elements.d.ts +14 -0
  62. package/dist/flash/elements.d.ts.map +1 -0
  63. package/dist/flash/elements.js +67 -0
  64. package/dist/flash/elements.js.map +1 -0
  65. package/dist/flash/index.d.ts +8 -0
  66. package/dist/flash/index.d.ts.map +1 -0
  67. package/dist/flash/index.js +18 -0
  68. package/dist/flash/index.js.map +1 -0
  69. package/dist/flash/stack.d.ts +6 -0
  70. package/dist/flash/stack.d.ts.map +1 -0
  71. package/dist/flash/stack.js +56 -0
  72. package/dist/flash/stack.js.map +1 -0
  73. package/dist/flash/styles/index.scss +118 -0
  74. package/dist/flash/toast.d.ts +24 -0
  75. package/dist/flash/toast.d.ts.map +1 -0
  76. package/dist/flash/toast.js +67 -0
  77. package/dist/flash/toast.js.map +1 -0
  78. package/dist/flash/types.d.ts +29 -0
  79. package/dist/flash/types.d.ts.map +1 -0
  80. package/dist/flash/types.js +2 -0
  81. package/dist/flash/types.js.map +1 -0
  82. package/dist/http/index.d.ts +30 -0
  83. package/dist/http/index.d.ts.map +1 -0
  84. package/dist/http/index.js +104 -0
  85. package/dist/http/index.js.map +1 -0
  86. package/dist/index.d.ts +40 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +104 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/inputs/components/index.d.ts +16 -0
  91. package/dist/inputs/components/index.d.ts.map +1 -0
  92. package/dist/inputs/components/index.js +112 -0
  93. package/dist/inputs/components/index.js.map +1 -0
  94. package/dist/inputs/index.d.ts +17 -0
  95. package/dist/inputs/index.d.ts.map +1 -0
  96. package/dist/inputs/index.js +54 -0
  97. package/dist/inputs/index.js.map +1 -0
  98. package/dist/inputs/styles/cropper.scss +244 -0
  99. package/dist/inputs/styles/field.scss +15 -0
  100. package/dist/inputs/styles/index.scss +3 -0
  101. package/dist/inputs/styles/upload.scss +125 -0
  102. package/dist/inputs/upload/config.d.ts +57 -0
  103. package/dist/inputs/upload/config.d.ts.map +1 -0
  104. package/dist/inputs/upload/config.js +61 -0
  105. package/dist/inputs/upload/config.js.map +1 -0
  106. package/dist/inputs/upload/crop-session.d.ts +6 -0
  107. package/dist/inputs/upload/crop-session.d.ts.map +1 -0
  108. package/dist/inputs/upload/crop-session.js +204 -0
  109. package/dist/inputs/upload/crop-session.js.map +1 -0
  110. package/dist/inputs/upload/crop.d.ts +20 -0
  111. package/dist/inputs/upload/crop.d.ts.map +1 -0
  112. package/dist/inputs/upload/crop.js +124 -0
  113. package/dist/inputs/upload/crop.js.map +1 -0
  114. package/dist/inputs/upload/dom.d.ts +19 -0
  115. package/dist/inputs/upload/dom.d.ts.map +1 -0
  116. package/dist/inputs/upload/dom.js +74 -0
  117. package/dist/inputs/upload/dom.js.map +1 -0
  118. package/dist/inputs/upload/drop.d.ts +10 -0
  119. package/dist/inputs/upload/drop.d.ts.map +1 -0
  120. package/dist/inputs/upload/drop.js +92 -0
  121. package/dist/inputs/upload/drop.js.map +1 -0
  122. package/dist/inputs/upload/files.d.ts +14 -0
  123. package/dist/inputs/upload/files.d.ts.map +1 -0
  124. package/dist/inputs/upload/files.js +82 -0
  125. package/dist/inputs/upload/files.js.map +1 -0
  126. package/dist/inputs/upload/manager.d.ts +36 -0
  127. package/dist/inputs/upload/manager.d.ts.map +1 -0
  128. package/dist/inputs/upload/manager.js +236 -0
  129. package/dist/inputs/upload/manager.js.map +1 -0
  130. package/dist/inputs/upload/markup.d.ts +30 -0
  131. package/dist/inputs/upload/markup.d.ts.map +1 -0
  132. package/dist/inputs/upload/markup.js +118 -0
  133. package/dist/inputs/upload/markup.js.map +1 -0
  134. package/dist/inputs/upload/model.d.ts +41 -0
  135. package/dist/inputs/upload/model.d.ts.map +1 -0
  136. package/dist/inputs/upload/model.js +76 -0
  137. package/dist/inputs/upload/model.js.map +1 -0
  138. package/dist/inputs/upload/state.d.ts +16 -0
  139. package/dist/inputs/upload/state.d.ts.map +1 -0
  140. package/dist/inputs/upload/state.js +181 -0
  141. package/dist/inputs/upload/state.js.map +1 -0
  142. package/dist/inputs/upload/text.d.ts +7 -0
  143. package/dist/inputs/upload/text.d.ts.map +1 -0
  144. package/dist/inputs/upload/text.js +29 -0
  145. package/dist/inputs/upload/text.js.map +1 -0
  146. package/dist/inputs/upload/types.d.ts +86 -0
  147. package/dist/inputs/upload/types.d.ts.map +1 -0
  148. package/dist/inputs/upload/types.js +2 -0
  149. package/dist/inputs/upload/types.js.map +1 -0
  150. package/dist/layer/components/index.d.ts +12 -0
  151. package/dist/layer/components/index.d.ts.map +1 -0
  152. package/dist/layer/components/index.js +12 -0
  153. package/dist/layer/components/index.js.map +1 -0
  154. package/dist/layer/index.d.ts +22 -0
  155. package/dist/layer/index.d.ts.map +1 -0
  156. package/dist/layer/index.js +159 -0
  157. package/dist/layer/index.js.map +1 -0
  158. package/dist/layer/styles/index.scss +6 -0
  159. package/dist/live/components/index.d.ts +15 -0
  160. package/dist/live/components/index.d.ts.map +1 -0
  161. package/dist/live/components/index.js +12 -0
  162. package/dist/live/components/index.js.map +1 -0
  163. package/dist/live/index.d.ts +29 -0
  164. package/dist/live/index.d.ts.map +1 -0
  165. package/dist/live/index.js +103 -0
  166. package/dist/live/index.js.map +1 -0
  167. package/dist/logging/index.d.ts +17 -0
  168. package/dist/logging/index.d.ts.map +1 -0
  169. package/dist/logging/index.js +68 -0
  170. package/dist/logging/index.js.map +1 -0
  171. package/dist/modal/components/index.d.ts +18 -0
  172. package/dist/modal/components/index.d.ts.map +1 -0
  173. package/dist/modal/components/index.js +20 -0
  174. package/dist/modal/components/index.js.map +1 -0
  175. package/dist/modal/index.d.ts +24 -0
  176. package/dist/modal/index.d.ts.map +1 -0
  177. package/dist/modal/index.js +184 -0
  178. package/dist/modal/index.js.map +1 -0
  179. package/dist/modal/styles/index.scss +50 -0
  180. package/dist/popover/components/index.d.ts +14 -0
  181. package/dist/popover/components/index.d.ts.map +1 -0
  182. package/dist/popover/components/index.js +16 -0
  183. package/dist/popover/components/index.js.map +1 -0
  184. package/dist/popover/index.d.ts +16 -0
  185. package/dist/popover/index.d.ts.map +1 -0
  186. package/dist/popover/index.js +140 -0
  187. package/dist/popover/index.js.map +1 -0
  188. package/dist/popover/styles/index.scss +24 -0
  189. package/dist/progress/components/index.d.ts +10 -0
  190. package/dist/progress/components/index.d.ts.map +1 -0
  191. package/dist/progress/components/index.js +14 -0
  192. package/dist/progress/components/index.js.map +1 -0
  193. package/dist/progress/index.d.ts +18 -0
  194. package/dist/progress/index.d.ts.map +1 -0
  195. package/dist/progress/index.js +89 -0
  196. package/dist/progress/index.js.map +1 -0
  197. package/dist/progress/styles/index.scss +16 -0
  198. package/dist/react/index.d.ts +17 -0
  199. package/dist/react/index.d.ts.map +1 -0
  200. package/dist/react/index.js +47 -0
  201. package/dist/react/index.js.map +1 -0
  202. package/dist/src/actions/buttons.d.ts +8 -0
  203. package/dist/src/actions/buttons.d.ts.map +1 -0
  204. package/dist/src/actions/buttons.js +116 -0
  205. package/dist/src/actions/buttons.js.map +1 -0
  206. package/dist/src/actions/components/index.d.ts +26 -0
  207. package/dist/src/actions/components/index.d.ts.map +1 -0
  208. package/dist/src/actions/components/index.js +25 -0
  209. package/dist/src/actions/components/index.js.map +1 -0
  210. package/dist/src/actions/confetti.d.ts +12 -0
  211. package/dist/src/actions/confetti.d.ts.map +1 -0
  212. package/dist/src/actions/confetti.js +36 -0
  213. package/dist/src/actions/confetti.js.map +1 -0
  214. package/dist/src/actions/forms.d.ts +12 -0
  215. package/dist/src/actions/forms.d.ts.map +1 -0
  216. package/dist/src/actions/forms.js +159 -0
  217. package/dist/src/actions/forms.js.map +1 -0
  218. package/dist/src/actions/index.d.ts +8 -0
  219. package/dist/src/actions/index.d.ts.map +1 -0
  220. package/dist/src/actions/index.js +7 -0
  221. package/dist/src/actions/index.js.map +1 -0
  222. package/dist/src/actions/request.d.ts +13 -0
  223. package/dist/src/actions/request.d.ts.map +1 -0
  224. package/dist/src/actions/request.js +83 -0
  225. package/dist/src/actions/request.js.map +1 -0
  226. package/dist/src/actions/response.d.ts +18 -0
  227. package/dist/src/actions/response.d.ts.map +1 -0
  228. package/dist/src/actions/response.js +104 -0
  229. package/dist/src/actions/response.js.map +1 -0
  230. package/dist/src/actions/triggers.d.ts +24 -0
  231. package/dist/src/actions/triggers.d.ts.map +1 -0
  232. package/dist/src/actions/triggers.js +107 -0
  233. package/dist/src/actions/triggers.js.map +1 -0
  234. package/dist/src/actions/types.d.ts +63 -0
  235. package/dist/src/actions/types.d.ts.map +1 -0
  236. package/dist/src/actions/types.js +2 -0
  237. package/dist/src/actions/types.js.map +1 -0
  238. package/dist/src/components/index.d.ts +5 -0
  239. package/dist/src/components/index.d.ts.map +1 -0
  240. package/dist/src/components/index.js +11 -0
  241. package/dist/src/components/index.js.map +1 -0
  242. package/dist/src/dom/index.d.ts +26 -0
  243. package/dist/src/dom/index.d.ts.map +1 -0
  244. package/dist/src/dom/index.js +164 -0
  245. package/dist/src/dom/index.js.map +1 -0
  246. package/dist/src/flash/components/index.d.ts +28 -0
  247. package/dist/src/flash/components/index.d.ts.map +1 -0
  248. package/dist/src/flash/components/index.js +27 -0
  249. package/dist/src/flash/components/index.js.map +1 -0
  250. package/dist/src/flash/dialogs.d.ts +6 -0
  251. package/dist/src/flash/dialogs.d.ts.map +1 -0
  252. package/dist/src/flash/dialogs.js +120 -0
  253. package/dist/src/flash/dialogs.js.map +1 -0
  254. package/dist/src/flash/duration.d.ts +8 -0
  255. package/dist/src/flash/duration.d.ts.map +1 -0
  256. package/dist/src/flash/duration.js +20 -0
  257. package/dist/src/flash/duration.js.map +1 -0
  258. package/dist/src/flash/elements.d.ts +14 -0
  259. package/dist/src/flash/elements.d.ts.map +1 -0
  260. package/dist/src/flash/elements.js +67 -0
  261. package/dist/src/flash/elements.js.map +1 -0
  262. package/dist/src/flash/index.d.ts +8 -0
  263. package/dist/src/flash/index.d.ts.map +1 -0
  264. package/dist/src/flash/index.js +18 -0
  265. package/dist/src/flash/index.js.map +1 -0
  266. package/dist/src/flash/stack.d.ts +6 -0
  267. package/dist/src/flash/stack.d.ts.map +1 -0
  268. package/dist/src/flash/stack.js +56 -0
  269. package/dist/src/flash/stack.js.map +1 -0
  270. package/dist/src/flash/toast.d.ts +24 -0
  271. package/dist/src/flash/toast.d.ts.map +1 -0
  272. package/dist/src/flash/toast.js +67 -0
  273. package/dist/src/flash/toast.js.map +1 -0
  274. package/dist/src/flash/types.d.ts +29 -0
  275. package/dist/src/flash/types.d.ts.map +1 -0
  276. package/dist/src/flash/types.js +2 -0
  277. package/dist/src/flash/types.js.map +1 -0
  278. package/dist/src/http/index.d.ts +30 -0
  279. package/dist/src/http/index.d.ts.map +1 -0
  280. package/dist/src/http/index.js +104 -0
  281. package/dist/src/http/index.js.map +1 -0
  282. package/dist/src/index.d.ts +40 -0
  283. package/dist/src/index.d.ts.map +1 -0
  284. package/dist/src/index.js +104 -0
  285. package/dist/src/index.js.map +1 -0
  286. package/dist/src/inputs/components/index.d.ts +16 -0
  287. package/dist/src/inputs/components/index.d.ts.map +1 -0
  288. package/dist/src/inputs/components/index.js +112 -0
  289. package/dist/src/inputs/components/index.js.map +1 -0
  290. package/dist/src/inputs/index.d.ts +17 -0
  291. package/dist/src/inputs/index.d.ts.map +1 -0
  292. package/dist/src/inputs/index.js +54 -0
  293. package/dist/src/inputs/index.js.map +1 -0
  294. package/dist/src/inputs/upload/config.d.ts +57 -0
  295. package/dist/src/inputs/upload/config.d.ts.map +1 -0
  296. package/dist/src/inputs/upload/config.js +61 -0
  297. package/dist/src/inputs/upload/config.js.map +1 -0
  298. package/dist/src/inputs/upload/crop-session.d.ts +6 -0
  299. package/dist/src/inputs/upload/crop-session.d.ts.map +1 -0
  300. package/dist/src/inputs/upload/crop-session.js +204 -0
  301. package/dist/src/inputs/upload/crop-session.js.map +1 -0
  302. package/dist/src/inputs/upload/crop.d.ts +20 -0
  303. package/dist/src/inputs/upload/crop.d.ts.map +1 -0
  304. package/dist/src/inputs/upload/crop.js +124 -0
  305. package/dist/src/inputs/upload/crop.js.map +1 -0
  306. package/dist/src/inputs/upload/dom.d.ts +19 -0
  307. package/dist/src/inputs/upload/dom.d.ts.map +1 -0
  308. package/dist/src/inputs/upload/dom.js +74 -0
  309. package/dist/src/inputs/upload/dom.js.map +1 -0
  310. package/dist/src/inputs/upload/drop.d.ts +10 -0
  311. package/dist/src/inputs/upload/drop.d.ts.map +1 -0
  312. package/dist/src/inputs/upload/drop.js +92 -0
  313. package/dist/src/inputs/upload/drop.js.map +1 -0
  314. package/dist/src/inputs/upload/files.d.ts +14 -0
  315. package/dist/src/inputs/upload/files.d.ts.map +1 -0
  316. package/dist/src/inputs/upload/files.js +82 -0
  317. package/dist/src/inputs/upload/files.js.map +1 -0
  318. package/dist/src/inputs/upload/manager.d.ts +36 -0
  319. package/dist/src/inputs/upload/manager.d.ts.map +1 -0
  320. package/dist/src/inputs/upload/manager.js +236 -0
  321. package/dist/src/inputs/upload/manager.js.map +1 -0
  322. package/dist/src/inputs/upload/markup.d.ts +30 -0
  323. package/dist/src/inputs/upload/markup.d.ts.map +1 -0
  324. package/dist/src/inputs/upload/markup.js +118 -0
  325. package/dist/src/inputs/upload/markup.js.map +1 -0
  326. package/dist/src/inputs/upload/model.d.ts +41 -0
  327. package/dist/src/inputs/upload/model.d.ts.map +1 -0
  328. package/dist/src/inputs/upload/model.js +76 -0
  329. package/dist/src/inputs/upload/model.js.map +1 -0
  330. package/dist/src/inputs/upload/state.d.ts +16 -0
  331. package/dist/src/inputs/upload/state.d.ts.map +1 -0
  332. package/dist/src/inputs/upload/state.js +181 -0
  333. package/dist/src/inputs/upload/state.js.map +1 -0
  334. package/dist/src/inputs/upload/text.d.ts +7 -0
  335. package/dist/src/inputs/upload/text.d.ts.map +1 -0
  336. package/dist/src/inputs/upload/text.js +29 -0
  337. package/dist/src/inputs/upload/text.js.map +1 -0
  338. package/dist/src/inputs/upload/types.d.ts +86 -0
  339. package/dist/src/inputs/upload/types.d.ts.map +1 -0
  340. package/dist/src/inputs/upload/types.js +2 -0
  341. package/dist/src/inputs/upload/types.js.map +1 -0
  342. package/dist/src/layer/components/index.d.ts +12 -0
  343. package/dist/src/layer/components/index.d.ts.map +1 -0
  344. package/dist/src/layer/components/index.js +12 -0
  345. package/dist/src/layer/components/index.js.map +1 -0
  346. package/dist/src/layer/index.d.ts +22 -0
  347. package/dist/src/layer/index.d.ts.map +1 -0
  348. package/dist/src/layer/index.js +159 -0
  349. package/dist/src/layer/index.js.map +1 -0
  350. package/dist/src/live/components/index.d.ts +15 -0
  351. package/dist/src/live/components/index.d.ts.map +1 -0
  352. package/dist/src/live/components/index.js +12 -0
  353. package/dist/src/live/components/index.js.map +1 -0
  354. package/dist/src/live/index.d.ts +29 -0
  355. package/dist/src/live/index.d.ts.map +1 -0
  356. package/dist/src/live/index.js +103 -0
  357. package/dist/src/live/index.js.map +1 -0
  358. package/dist/src/logging/index.d.ts +17 -0
  359. package/dist/src/logging/index.d.ts.map +1 -0
  360. package/dist/src/logging/index.js +68 -0
  361. package/dist/src/logging/index.js.map +1 -0
  362. package/dist/src/modal/components/index.d.ts +18 -0
  363. package/dist/src/modal/components/index.d.ts.map +1 -0
  364. package/dist/src/modal/components/index.js +20 -0
  365. package/dist/src/modal/components/index.js.map +1 -0
  366. package/dist/src/modal/index.d.ts +24 -0
  367. package/dist/src/modal/index.d.ts.map +1 -0
  368. package/dist/src/modal/index.js +184 -0
  369. package/dist/src/modal/index.js.map +1 -0
  370. package/dist/src/popover/components/index.d.ts +14 -0
  371. package/dist/src/popover/components/index.d.ts.map +1 -0
  372. package/dist/src/popover/components/index.js +16 -0
  373. package/dist/src/popover/components/index.js.map +1 -0
  374. package/dist/src/popover/index.d.ts +16 -0
  375. package/dist/src/popover/index.d.ts.map +1 -0
  376. package/dist/src/popover/index.js +140 -0
  377. package/dist/src/popover/index.js.map +1 -0
  378. package/dist/src/progress/components/index.d.ts +10 -0
  379. package/dist/src/progress/components/index.d.ts.map +1 -0
  380. package/dist/src/progress/components/index.js +14 -0
  381. package/dist/src/progress/components/index.js.map +1 -0
  382. package/dist/src/progress/index.d.ts +18 -0
  383. package/dist/src/progress/index.d.ts.map +1 -0
  384. package/dist/src/progress/index.js +89 -0
  385. package/dist/src/progress/index.js.map +1 -0
  386. package/dist/src/react/index.d.ts +17 -0
  387. package/dist/src/react/index.d.ts.map +1 -0
  388. package/dist/src/react/index.js +47 -0
  389. package/dist/src/react/index.js.map +1 -0
  390. package/dist/src/styles/index.d.ts +3 -0
  391. package/dist/src/styles/index.d.ts.map +1 -0
  392. package/dist/src/styles/index.js +14 -0
  393. package/dist/src/styles/index.js.map +1 -0
  394. package/dist/src/theme/components/index.d.ts +14 -0
  395. package/dist/src/theme/components/index.d.ts.map +1 -0
  396. package/dist/src/theme/components/index.js +13 -0
  397. package/dist/src/theme/components/index.js.map +1 -0
  398. package/dist/src/theme/index.d.ts +26 -0
  399. package/dist/src/theme/index.d.ts.map +1 -0
  400. package/dist/src/theme/index.js +119 -0
  401. package/dist/src/theme/index.js.map +1 -0
  402. package/dist/src/tooltip/components/index.d.ts +17 -0
  403. package/dist/src/tooltip/components/index.d.ts.map +1 -0
  404. package/dist/src/tooltip/components/index.js +20 -0
  405. package/dist/src/tooltip/components/index.js.map +1 -0
  406. package/dist/src/tooltip/index.d.ts +10 -0
  407. package/dist/src/tooltip/index.d.ts.map +1 -0
  408. package/dist/src/tooltip/index.js +171 -0
  409. package/dist/src/tooltip/index.js.map +1 -0
  410. package/dist/styles/index.d.ts +3 -0
  411. package/dist/styles/index.d.ts.map +1 -0
  412. package/dist/styles/index.js +14 -0
  413. package/dist/styles/index.js.map +1 -0
  414. package/dist/styles/tokens.scss +22 -0
  415. package/dist/styles/utils.scss +220 -0
  416. package/dist/theme/components/index.d.ts +14 -0
  417. package/dist/theme/components/index.d.ts.map +1 -0
  418. package/dist/theme/components/index.js +13 -0
  419. package/dist/theme/components/index.js.map +1 -0
  420. package/dist/theme/index.d.ts +26 -0
  421. package/dist/theme/index.d.ts.map +1 -0
  422. package/dist/theme/index.js +119 -0
  423. package/dist/theme/index.js.map +1 -0
  424. package/dist/tooltip/components/index.d.ts +17 -0
  425. package/dist/tooltip/components/index.d.ts.map +1 -0
  426. package/dist/tooltip/components/index.js +20 -0
  427. package/dist/tooltip/components/index.js.map +1 -0
  428. package/dist/tooltip/index.d.ts +10 -0
  429. package/dist/tooltip/index.d.ts.map +1 -0
  430. package/dist/tooltip/index.js +171 -0
  431. package/dist/tooltip/index.js.map +1 -0
  432. package/dist/tooltip/styles/index.scss +17 -0
  433. package/package.json +232 -0
@@ -0,0 +1,164 @@
1
+ const INTERACTIVE_TARGET_SELECTOR = [
2
+ "a",
3
+ "button",
4
+ "input",
5
+ "select",
6
+ "textarea",
7
+ "summary",
8
+ '[contenteditable="true"]',
9
+ ].join(",");
10
+ function bindRoot(root) {
11
+ if (root && "querySelectorAll" in root)
12
+ return root;
13
+ return document;
14
+ }
15
+ function asElement(value) {
16
+ return value instanceof Element ? value : null;
17
+ }
18
+ function asHTMLElement(value) {
19
+ return value instanceof HTMLElement ? value : null;
20
+ }
21
+ function onReady(callback) {
22
+ if (typeof document === "undefined")
23
+ return;
24
+ if (document.readyState === "loading") {
25
+ document.addEventListener("DOMContentLoaded", callback, { once: true });
26
+ return;
27
+ }
28
+ callback();
29
+ }
30
+ function queryAll(root, selector) {
31
+ const scope = bindRoot(root);
32
+ const items = [];
33
+ if (scope instanceof Element && scope.matches(selector)) {
34
+ items.push(scope);
35
+ }
36
+ scope.querySelectorAll(selector).forEach((node) => items.push(node));
37
+ return items;
38
+ }
39
+ function closestElement(value, selector) {
40
+ const element = asElement(value);
41
+ if (!element || typeof element.closest !== "function")
42
+ return null;
43
+ return element.closest(selector);
44
+ }
45
+ function cssEscape(value) {
46
+ const text = String(value || "");
47
+ if (typeof CSS !== "undefined" && typeof CSS.escape === "function") {
48
+ return CSS.escape(text);
49
+ }
50
+ return text.replace(/[^a-zA-Z0-9_-]/g, (char) => {
51
+ return `\\${char.charCodeAt(0).toString(16)} `;
52
+ });
53
+ }
54
+ function resolveDocumentTarget(target) {
55
+ if (target instanceof HTMLElement)
56
+ return target;
57
+ const value = String(target || "").trim();
58
+ if (!value || typeof document === "undefined")
59
+ return null;
60
+ if (value.startsWith("#"))
61
+ return document.getElementById(value.slice(1));
62
+ if (/^[A-Za-z][A-Za-z0-9_-]*$/u.test(value)) {
63
+ return document.getElementById(value);
64
+ }
65
+ if (value.startsWith("[data-")) {
66
+ try {
67
+ const match = document.querySelector(value);
68
+ return match instanceof HTMLElement ? match : null;
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ return null;
75
+ }
76
+ function readJsonScript(id, fallback) {
77
+ const element = typeof document !== "undefined" ? document.getElementById(id) : null;
78
+ if (!element)
79
+ return fallback;
80
+ return parseJsonText(element.textContent || "", fallback);
81
+ }
82
+ function parseJsonText(text, fallback) {
83
+ try {
84
+ const parsed = JSON.parse(String(text || ""));
85
+ return parsed == null ? fallback : parsed;
86
+ }
87
+ catch {
88
+ return fallback;
89
+ }
90
+ }
91
+ function readElementJson(host, selector, fallback) {
92
+ if (!host || typeof host.querySelector !== "function")
93
+ return fallback;
94
+ const element = host.querySelector(selector);
95
+ return parseJsonText(element?.textContent || "", fallback);
96
+ }
97
+ function readDataJson(host, attrName, fallback) {
98
+ const value = host && typeof host.getAttribute === "function"
99
+ ? host.getAttribute(attrName)
100
+ : "";
101
+ return value ? parseJsonText(value, fallback) : fallback;
102
+ }
103
+ function escapeHtml(value) {
104
+ return String(value == null ? "" : value)
105
+ .replace(/&/g, "&")
106
+ .replace(/</g, "&lt;")
107
+ .replace(/>/g, "&gt;")
108
+ .replace(/"/g, "&quot;")
109
+ .replace(/'/g, "&#39;");
110
+ }
111
+ function setHidden(element, hidden) {
112
+ if (element instanceof HTMLElement)
113
+ element.hidden = hidden;
114
+ }
115
+ function setAriaExpanded(element, expanded) {
116
+ element?.setAttribute("aria-expanded", expanded ? "true" : "false");
117
+ }
118
+ function dispatchInputChange(input) {
119
+ input?.dispatchEvent(new Event("input", { bubbles: true }));
120
+ input?.dispatchEvent(new Event("change", { bubbles: true }));
121
+ }
122
+ function isInteractiveTarget(target, extraSelector = "") {
123
+ const element = asElement(target);
124
+ if (!element)
125
+ return false;
126
+ const selector = extraSelector
127
+ ? `${INTERACTIVE_TARGET_SELECTOR},${extraSelector}`
128
+ : INTERACTIVE_TARGET_SELECTOR;
129
+ return Boolean(element.closest(selector));
130
+ }
131
+ function setControlDisabled(element, disabled) {
132
+ if (!element)
133
+ return;
134
+ if ("disabled" in element) {
135
+ element.disabled = disabled;
136
+ return;
137
+ }
138
+ if (disabled)
139
+ element.setAttribute("disabled", "true");
140
+ else
141
+ element.removeAttribute("disabled");
142
+ }
143
+ function formDataFlatRecord(data) {
144
+ const out = {};
145
+ data.forEach((value, key) => {
146
+ const current = out[key];
147
+ if (current === undefined) {
148
+ out[key] = value;
149
+ return;
150
+ }
151
+ out[key] = Array.isArray(current) ? [...current, value] : [current, value];
152
+ });
153
+ return out;
154
+ }
155
+ function formDataSearchParams(data) {
156
+ const params = new URLSearchParams();
157
+ data.forEach((value, key) => {
158
+ if (typeof value === "string")
159
+ params.append(key, value);
160
+ });
161
+ return params;
162
+ }
163
+ export { INTERACTIVE_TARGET_SELECTOR, asElement, asHTMLElement, bindRoot, closestElement, cssEscape, dispatchInputChange, escapeHtml, formDataFlatRecord, formDataSearchParams, isInteractiveTarget, onReady, parseJsonText, queryAll, readDataJson, readElementJson, readJsonScript, resolveDocumentTarget, setAriaExpanded, setControlDisabled, setHidden, };
164
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dom/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
2
+ import type { FlashType } from "../index.d.ts";
3
+ type FlashStackProps = HTMLAttributes<HTMLDivElement> & {
4
+ expanded?: boolean;
5
+ };
6
+ type FlashShellProps = HTMLAttributes<HTMLElement> & {
7
+ actions?: ReactNode;
8
+ description?: ReactNode;
9
+ dismissLabel?: string;
10
+ id?: string;
11
+ progress?: boolean;
12
+ title: ReactNode;
13
+ type?: FlashType;
14
+ };
15
+ type ConfirmElementProps = ButtonHTMLAttributes<HTMLButtonElement> & {
16
+ confirmDescription?: string;
17
+ confirmMode?: "classic" | "text";
18
+ confirmText?: string;
19
+ confirmTitle: string;
20
+ confirmType?: FlashType;
21
+ };
22
+ declare function FlashStack(props: FlashStackProps): import("react").JSX.Element;
23
+ declare function FlashShell(props: FlashShellProps): import("react").JSX.Element;
24
+ declare function ConfirmElement(props: ConfirmElementProps): import("react").JSX.Element;
25
+ declare function FlashLiveRegion(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
26
+ export { ConfirmElement, FlashLiveRegion, FlashShell, FlashStack };
27
+ export type { ConfirmElementProps, FlashShellProps, FlashStackProps };
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/flash/components/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,KAAK,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACnD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,mBAAmB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAazC;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,+BAiCzC;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BA2BjD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,+BAU7D;AAQD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { classNames } from "../../components/index.js";
3
+ function FlashStack(props) {
4
+ const { children, className, expanded = false, id = "tbf_flash_stack", ...rest } = props;
5
+ return (_jsx("div", { ...rest, className: classNames("tbf-flash-stack", className), "data-tbf-expanded": expanded ? "true" : "false", "data-tbf-flash-stack": "", id: id, children: children }));
6
+ }
7
+ function FlashShell(props) {
8
+ const { actions, className, description, dismissLabel = "Dismiss", id, progress = true, title, type = "info", ...rest } = props;
9
+ return (_jsxs("section", { ...rest, className: classNames("tbf-flash", className), "data-tbf-flash": "", "data-tbf-flash-id": id, "data-tbf-flash-type": type, role: type === "error" ? "alert" : "status", children: [_jsx("span", { className: "tbf-flash__icon", "aria-hidden": "true", children: iconText(type) }), _jsxs("div", { className: "tbf-flash__body", children: [_jsx("strong", { className: "tbf-flash__title", children: title }), description ? _jsx("span", { className: "tbf-flash__description", children: description }) : null, actions ? _jsx("div", { className: "tbf-flash__actions", children: actions }) : null] }), _jsx("button", { className: "tbf-flash__close", type: "button", "aria-label": dismissLabel, children: dismissLabel }), _jsx("span", { className: "tbf-flash__progress", "aria-hidden": "true", hidden: !progress })] }));
10
+ }
11
+ function ConfirmElement(props) {
12
+ const { children, className, confirmDescription, confirmMode, confirmText, confirmTitle, confirmType, type = "button", ...rest } = props;
13
+ return (_jsx("button", { ...rest, className: classNames("tbf-button", className), "data-tbf-confirm": "", "data-tbf-confirm-description": confirmDescription, "data-tbf-confirm-mode": confirmMode, "data-tbf-confirm-text": confirmText, "data-tbf-confirm-title": confirmTitle, "data-tbf-confirm-type": confirmType, type: type, children: children }));
14
+ }
15
+ function FlashLiveRegion(props) {
16
+ const { className, ...rest } = props;
17
+ return (_jsx("div", { ...rest, className: classNames("tbf-flash-live", className), "aria-live": "polite", "data-tbf-flash-live": "" }));
18
+ }
19
+ function iconText(type) {
20
+ if (type === "success")
21
+ return "OK";
22
+ if (type === "error")
23
+ return "!";
24
+ return "i";
25
+ }
26
+ export { ConfirmElement, FlashLiveRegion, FlashShell, FlashStack };
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/flash/components/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAyB3C,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACzF,OAAO,CACL,iBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,uBAChC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,0BACzB,EAAE,EACvB,EAAE,EAAE,EAAE,YAEL,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EACJ,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,GAAG,SAAS,EACxB,EAAE,EACF,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,IAAI,GAAG,MAAM,EACb,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,sBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,oBAC9B,EAAE,uBACE,EAAE,yBACA,IAAI,EACzB,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,aAE3C,eAAM,SAAS,EAAC,iBAAiB,iBAAa,MAAM,YAAE,QAAQ,CAAC,IAAI,CAAC,GAAQ,EAC5E,eAAK,SAAS,EAAC,iBAAiB,aAC9B,iBAAQ,SAAS,EAAC,kBAAkB,YAAE,KAAK,GAAU,EACpD,WAAW,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,EAClF,OAAO,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,oBAAoB,YAAE,OAAO,GAAO,CAAC,CAAC,CAAC,IAAI,IACjE,EACN,iBAAQ,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,gBAAa,YAAY,YACxE,YAAY,GACN,EACT,eAAM,SAAS,EAAC,qBAAqB,iBAAa,MAAM,EAAC,MAAM,EAAE,CAAC,QAAQ,GAAI,IACtE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,IAAI,GAAG,QAAQ,EACf,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,oBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,sBAC7B,EAAE,kCACW,kBAAkB,2BACzB,WAAW,2BACX,WAAW,4BACV,YAAY,2BACb,WAAW,EAClC,IAAI,EAAE,IAAI,YAET,QAAQ,GACF,CACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAqC;IAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,CACL,iBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,eACxC,QAAQ,yBACE,EAAE,GACtB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe;IAC/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ConfirmOptions, PromptOptions } from "./types.js";
2
+ declare function confirm(message: unknown, description?: string, options?: ConfirmOptions): Promise<boolean>;
3
+ declare function prompt(message: unknown, description?: string, options?: PromptOptions): Promise<any>;
4
+ declare function confirmElement(source: Element | null, fallbackSource?: Element | null): Promise<boolean>;
5
+ export { confirm, confirmElement, prompt };
6
+ //# sourceMappingURL=dialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../../src/flash/dialogs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhE,iBAAS,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,SAAK,EAAE,OAAO,GAAE,cAAmB,oBAmBhF;AAiCD,iBAAS,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,SAAK,EAAE,OAAO,GAAE,aAAkB,gBAY9E;AAoDD,iBAAS,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,cAAc,GAAE,OAAO,GAAG,IAAW,oBAWpF;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,120 @@
1
+ import { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, normalizeFlashType, } from "./duration.js";
2
+ import { createDialogFlash, makeButton } from "./elements.js";
3
+ import { ensureFlashStack, hideFlashElement, layoutFlashStack } from "./stack.js";
4
+ function finishDialog(stack, element, resolve, value) {
5
+ hideFlashElement(stack, element);
6
+ resolve(value);
7
+ }
8
+ function confirm(message, description = "", options = {}) {
9
+ const stack = ensureFlashStack();
10
+ if (!stack)
11
+ return Promise.resolve(false);
12
+ return new Promise((resolve) => {
13
+ const controls = createDialogFlash(normalizeFlashType(options.type || "warn"), message, description);
14
+ const body = controls.element.querySelector(".tbf-flash__body");
15
+ const actions = document.createElement("div");
16
+ actions.className = "tbf-flash__actions";
17
+ const cancel = makeButton(options.cancelText || "Cancel", "tbf-button");
18
+ const ok = makeButton(options.confirmText || "OK", "tbf-button tbf-button--strong");
19
+ const input = createConfirmInput(options, ok);
20
+ if (input)
21
+ body?.appendChild(input);
22
+ actions.append(cancel, ok);
23
+ body?.appendChild(actions);
24
+ stack.appendChild(controls.element);
25
+ bindConfirmControls(stack, controls.element, resolve, cancel, ok, controls.close);
26
+ window.setTimeout(() => finishDialog(stack, controls.element, resolve, false), FLASH_CONFIRM_TIMEOUT_MS);
27
+ revealDialog(stack, controls.element, input);
28
+ });
29
+ }
30
+ function bindConfirmControls(stack, element, resolve, cancel, ok, close) {
31
+ close.addEventListener("click", () => finishDialog(stack, element, resolve, false));
32
+ cancel.addEventListener("click", () => finishDialog(stack, element, resolve, false));
33
+ ok.addEventListener("click", () => finishDialog(stack, element, resolve, true));
34
+ element.addEventListener("keydown", (event) => {
35
+ if (event.key === "Escape")
36
+ finishDialog(stack, element, resolve, false);
37
+ });
38
+ }
39
+ function createConfirmInput(options, ok) {
40
+ const confirmationText = String(options.confirmationText || "").trim();
41
+ if (options.mode !== "text" || !confirmationText)
42
+ return null;
43
+ ok.disabled = true;
44
+ const input = document.createElement("input");
45
+ input.className = "tbf-input";
46
+ input.type = "text";
47
+ input.autocomplete = "off";
48
+ input.placeholder = options.placeholder || confirmationText;
49
+ input.addEventListener("input", () => {
50
+ ok.disabled = input.value.trim().toLowerCase() !== confirmationText.toLowerCase();
51
+ });
52
+ return input;
53
+ }
54
+ function prompt(message, description = "", options = {}) {
55
+ const stack = ensureFlashStack();
56
+ if (!stack)
57
+ return Promise.resolve(null);
58
+ return new Promise((resolve) => {
59
+ const controls = createDialogFlash("info", message, description);
60
+ const form = createPromptForm(options);
61
+ controls.element.querySelector(".tbf-flash__body")?.appendChild(form);
62
+ stack.appendChild(controls.element);
63
+ bindPromptControls(stack, controls.element, resolve, form, controls.close);
64
+ window.setTimeout(() => finishDialog(stack, controls.element, resolve, null), FLASH_PROMPT_TIMEOUT_MS);
65
+ revealDialog(stack, controls.element, form.querySelector("input"));
66
+ });
67
+ }
68
+ function createPromptForm(options) {
69
+ const form = document.createElement("form");
70
+ form.className = "tbf-flash__form";
71
+ const input = document.createElement("input");
72
+ input.className = "tbf-input";
73
+ input.name = "value";
74
+ input.placeholder = options.placeholder || "";
75
+ input.value = options.value || "";
76
+ const actions = document.createElement("div");
77
+ actions.className = "tbf-flash__actions";
78
+ actions.append(makeButton(options.cancelText || "Cancel", "tbf-button"), submitButton(options.submitText || "OK"));
79
+ form.append(input, actions);
80
+ return form;
81
+ }
82
+ function submitButton(label) {
83
+ const button = makeButton(label, "tbf-button tbf-button--strong");
84
+ button.type = "submit";
85
+ return button;
86
+ }
87
+ function bindPromptControls(stack, element, resolve, form, close) {
88
+ const input = form.querySelector("input");
89
+ const cancel = form.querySelector(".tbf-button:not(.tbf-button--strong)");
90
+ form.addEventListener("submit", (event) => {
91
+ event.preventDefault();
92
+ finishDialog(stack, element, resolve, input?.value.trim() || null);
93
+ });
94
+ cancel?.addEventListener("click", () => finishDialog(stack, element, resolve, null));
95
+ close.addEventListener("click", () => finishDialog(stack, element, resolve, null));
96
+ }
97
+ function revealDialog(stack, element, focusTarget) {
98
+ window.requestAnimationFrame(() => {
99
+ element.setAttribute("data-tbf-visible", "true");
100
+ focusTarget?.focus();
101
+ if (focusTarget instanceof HTMLInputElement)
102
+ focusTarget.select();
103
+ layoutFlashStack(stack);
104
+ });
105
+ }
106
+ function confirmElement(source, fallbackSource = null) {
107
+ const target = source?.hasAttribute("data-tbf-confirm-title")
108
+ ? source
109
+ : fallbackSource || source;
110
+ const title = target?.getAttribute("data-tbf-confirm-title") || "";
111
+ if (!title)
112
+ return Promise.resolve(true);
113
+ return confirm(title, target?.getAttribute("data-tbf-confirm-description") || "", {
114
+ confirmationText: target?.getAttribute("data-tbf-confirm-text") || "",
115
+ mode: target?.getAttribute("data-tbf-confirm-mode") === "text" ? "text" : "classic",
116
+ type: normalizeFlashType(target?.getAttribute("data-tbf-confirm-type") || "warn"),
117
+ });
118
+ }
119
+ export { confirm, confirmElement, prompt };
120
+ //# sourceMappingURL=dialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.js","sourceRoot":"","sources":["../../../src/flash/dialogs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { FlashType } from "./types.js";
2
+ declare const FLASH_CONFIRM_TIMEOUT_MS = 10000;
3
+ declare const FLASH_PROMPT_TIMEOUT_MS = 60000;
4
+ declare function normalizeFlashType(value: unknown): FlashType;
5
+ declare function computeFlashDurationMs(message: unknown, description?: unknown): number;
6
+ declare function flashId(prefix?: string): string;
7
+ export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, flashId, normalizeFlashType, };
8
+ //# sourceMappingURL=duration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../src/flash/duration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,QAAA,MAAM,wBAAwB,QAAQ,CAAC;AACvC,QAAA,MAAM,uBAAuB,QAAQ,CAAC;AAGtC,iBAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAGrD;AAED,iBAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,GAAE,OAAY,UAI1E;AAED,iBAAS,OAAO,CAAC,MAAM,SAAU,UAKhC;AAED,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,20 @@
1
+ const FLASH_CONFIRM_TIMEOUT_MS = 10000;
2
+ const FLASH_PROMPT_TIMEOUT_MS = 60000;
3
+ const FLASH_TYPES = new Set(["error", "info", "success", "warn"]);
4
+ function normalizeFlashType(value) {
5
+ const text = String(value || "").trim().toLowerCase();
6
+ return FLASH_TYPES.has(text) ? text : "info";
7
+ }
8
+ function computeFlashDurationMs(message, description = "") {
9
+ const text = [message, description].map((value) => String(value || "")).join(" ");
10
+ const ms = 1600 + text.trim().length * 28;
11
+ return Math.max(1800, Math.min(12000, ms));
12
+ }
13
+ function flashId(prefix = "flash") {
14
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
15
+ return `${prefix}_${crypto.randomUUID().replace(/-/g, "")}`;
16
+ }
17
+ return `${prefix}_${Date.now()}_${Math.random().toString(36).slice(2)}`;
18
+ }
19
+ export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, flashId, normalizeFlashType, };
20
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/flash/duration.ts"],"names":[],"mappings":"AAEA,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB,EAAE,cAAuB,EAAE;IACzE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,OAAO,CAAC,MAAM,GAAG,OAAO;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC7E,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { FlashOptions, FlashType } from "./types.js";
2
+ declare function makeButton(label: string, className: string): HTMLButtonElement;
3
+ declare function createFlashElement(type: FlashType, message: unknown, description: unknown, id: string, options: FlashOptions): {
4
+ close: HTMLButtonElement;
5
+ element: HTMLElement;
6
+ progress: HTMLElement;
7
+ };
8
+ declare function createDialogFlash(type: FlashType, titleText: unknown, descriptionText: unknown): {
9
+ close: HTMLButtonElement;
10
+ element: HTMLElement;
11
+ progress: HTMLElement;
12
+ };
13
+ export { createDialogFlash, createFlashElement, makeButton };
14
+ //# sourceMappingURL=elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/flash/elements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAMnD;AAED,iBAAS,kBAAkB,CACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,EACpB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,YAAY;;;;EAmBtB;AA0CD,iBAAS,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;;;;EAOvF;AAED,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,67 @@
1
+ function makeButton(label, className) {
2
+ const button = document.createElement("button");
3
+ button.type = "button";
4
+ button.className = className;
5
+ button.textContent = label;
6
+ return button;
7
+ }
8
+ function createFlashElement(type, message, description, id, options) {
9
+ const element = document.createElement("section");
10
+ element.className = "tbf-flash";
11
+ element.setAttribute("data-tbf-flash", "");
12
+ element.setAttribute("data-tbf-flash-type", type);
13
+ element.setAttribute("data-tbf-flash-id", id);
14
+ element.setAttribute("role", type === "error" ? "alert" : "status");
15
+ element.append(flashIcon(type), flashBody(message, description, options), flashCloseButton(), flashProgress());
16
+ return {
17
+ close: element.querySelector(".tbf-flash__close"),
18
+ element,
19
+ progress: element.querySelector(".tbf-flash__progress"),
20
+ };
21
+ }
22
+ function flashIcon(type) {
23
+ const icon = document.createElement("span");
24
+ icon.className = "tbf-flash__icon";
25
+ icon.setAttribute("aria-hidden", "true");
26
+ icon.textContent = type === "success" ? "OK" : type === "error" ? "!" : "i";
27
+ return icon;
28
+ }
29
+ function flashBody(message, description, options) {
30
+ const body = document.createElement("div");
31
+ body.className = "tbf-flash__body";
32
+ const title = document.createElement("strong");
33
+ title.className = "tbf-flash__title";
34
+ title.textContent = String(message || "");
35
+ body.appendChild(title);
36
+ const detail = String(description || options.description || "").trim();
37
+ if (detail)
38
+ body.appendChild(flashDescription(detail));
39
+ return body;
40
+ }
41
+ function flashDescription(text) {
42
+ const desc = document.createElement("span");
43
+ desc.className = "tbf-flash__description";
44
+ desc.textContent = text;
45
+ return desc;
46
+ }
47
+ function flashCloseButton() {
48
+ const close = makeButton("Dismiss", "tbf-flash__close");
49
+ close.setAttribute("aria-label", "Dismiss");
50
+ return close;
51
+ }
52
+ function flashProgress() {
53
+ const progress = document.createElement("span");
54
+ progress.className = "tbf-flash__progress";
55
+ progress.setAttribute("aria-hidden", "true");
56
+ return progress;
57
+ }
58
+ function createDialogFlash(type, titleText, descriptionText) {
59
+ const controls = createFlashElement(type, titleText, descriptionText, "dialog", {
60
+ sticky: true,
61
+ });
62
+ controls.element.classList.add("tbf-flash--dialog");
63
+ controls.progress.hidden = true;
64
+ return controls;
65
+ }
66
+ export { createDialogFlash, createFlashElement, makeButton };
67
+ //# sourceMappingURL=elements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/flash/elements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs } from "./duration.js";
2
+ import { confirm, confirmElement, prompt } from "./dialogs.js";
3
+ import { dismissFlash, liveFlash, showFlash, stickyFlash } from "./toast.js";
4
+ declare const flash: typeof showFlash & Record<string, any>;
5
+ export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, confirm, confirmElement, dismissFlash, flash, liveFlash, prompt, showFlash, stickyFlash, };
6
+ export type { ConfirmOptions, FlashHandle, FlashOptions, FlashType, PromptOptions, } from "./types.js";
7
+ export default flash;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/flash/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAiB,WAAW,EAAE,MAAM,YAAY,CAAC;AAkB5F,QAAA,MAAM,KAAK,EAAgB,OAAO,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAElE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,GACZ,CAAC;AACF,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,eAAe,KAAK,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, } from "./duration.js";
2
+ import { confirm, confirmElement, prompt } from "./dialogs.js";
3
+ import { dismissFlash, liveFlash, showFlash, showFlashImpl, stickyFlash } from "./toast.js";
4
+ showFlash.info = (message, description = "", options = {}) => showFlashImpl("info", message, description, options);
5
+ showFlash.success = (message, description = "", options = {}) => showFlashImpl("success", message, description, options);
6
+ showFlash.warn = (message, description = "", options = {}) => showFlashImpl("warn", message, description, options);
7
+ showFlash.error = (message, description = "", options = {}) => showFlashImpl("error", message, description, options);
8
+ showFlash.sticky = stickyFlash;
9
+ showFlash.live = liveFlash;
10
+ showFlash.dismiss = dismissFlash;
11
+ showFlash.confirm = confirm;
12
+ showFlash.prompt = prompt;
13
+ showFlash.confirmElement = confirmElement;
14
+ showFlash.computeFlashDurationMs = computeFlashDurationMs;
15
+ const flash = showFlash;
16
+ export { FLASH_CONFIRM_TIMEOUT_MS, FLASH_PROMPT_TIMEOUT_MS, computeFlashDurationMs, confirm, confirmElement, dismissFlash, flash, liveFlash, prompt, showFlash, stickyFlash, };
17
+ export default flash;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/flash/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3F,SAAiB,CAAC,IAAI,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC7E,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACtD,SAAiB,CAAC,OAAO,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAChF,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACzD,SAAiB,CAAC,IAAI,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC7E,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACtD,SAAiB,CAAC,KAAK,GAAG,CAAC,OAAgB,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,CAC9E,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACvD,SAAiB,CAAC,MAAM,GAAG,WAAW,CAAC;AACvC,SAAiB,CAAC,IAAI,GAAG,SAAS,CAAC;AACnC,SAAiB,CAAC,OAAO,GAAG,YAAY,CAAC;AACzC,SAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;AACpC,SAAiB,CAAC,MAAM,GAAG,MAAM,CAAC;AAClC,SAAiB,CAAC,cAAc,GAAG,cAAc,CAAC;AAClD,SAAiB,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;AAEnE,MAAM,KAAK,GAAG,SAAmD,CAAC;AAElE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,GACZ,CAAC;AAQF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare const FLASH_STACK_ID = "tbf_flash_stack";
2
+ declare function ensureFlashStack(): HTMLElement;
3
+ declare function layoutFlashStack(stack: HTMLElement): void;
4
+ declare function hideFlashElement(stack: HTMLElement, element: HTMLElement): void;
5
+ export { FLASH_STACK_ID, ensureFlashStack, hideFlashElement, layoutFlashStack, };
6
+ //# sourceMappingURL=stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/flash/stack.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,cAAc,oBAAoB,CAAC;AAGzC,iBAAS,gBAAgB,gBAoBxB;AAMD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,QAU3C;AAQD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,QAMjE;AAED,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { applyZIndex } from "../layer/index.js";
2
+ const FLASH_STACK_ID = "tbf_flash_stack";
3
+ const FLASH_BASE_Z_INDEX = 1020;
4
+ function ensureFlashStack() {
5
+ if (typeof document === "undefined" || !document.body)
6
+ return null;
7
+ const existing = document.getElementById(FLASH_STACK_ID);
8
+ if (existing instanceof HTMLElement)
9
+ return existing;
10
+ const stack = document.createElement("div");
11
+ stack.id = FLASH_STACK_ID;
12
+ stack.className = "tbf-flash-stack";
13
+ stack.setAttribute("data-tbf-flash-stack", "");
14
+ stack.setAttribute("data-tbf-expanded", "false");
15
+ applyZIndex(stack, { fallback: FLASH_BASE_Z_INDEX });
16
+ document.body.appendChild(stack);
17
+ stack.addEventListener("mouseenter", () => {
18
+ stack.setAttribute("data-tbf-expanded", "true");
19
+ layoutFlashStack(stack);
20
+ });
21
+ stack.addEventListener("mouseleave", () => {
22
+ stack.setAttribute("data-tbf-expanded", "false");
23
+ layoutFlashStack(stack);
24
+ });
25
+ return stack;
26
+ }
27
+ function orderedFlashItems(stack) {
28
+ return Array.from(stack.querySelectorAll("[data-tbf-flash]"));
29
+ }
30
+ function layoutFlashStack(stack) {
31
+ const items = orderedFlashItems(stack);
32
+ const expanded = stack.getAttribute("data-tbf-expanded") === "true";
33
+ let offset = 0;
34
+ items.forEach((item, index) => {
35
+ item.style.zIndex = String(1000 + index + 1);
36
+ item.style.setProperty("--tbf-flash-y", `${expanded ? -offset : -index * 9}px`);
37
+ offset += item.getBoundingClientRect().height + 10;
38
+ });
39
+ stack.style.height = flashStackHeight(items, expanded, offset);
40
+ }
41
+ function flashStackHeight(items, expanded, offset) {
42
+ if (!items.length)
43
+ return "0px";
44
+ if (expanded)
45
+ return `${offset}px`;
46
+ return `${items[0].getBoundingClientRect().height + (items.length - 1) * 9}px`;
47
+ }
48
+ function hideFlashElement(stack, element) {
49
+ element.setAttribute("data-tbf-hiding", "true");
50
+ window.setTimeout(() => {
51
+ element.remove();
52
+ layoutFlashStack(stack);
53
+ }, 220);
54
+ }
55
+ export { FLASH_STACK_ID, ensureFlashStack, hideFlashElement, layoutFlashStack, };
56
+ //# sourceMappingURL=stack.js.map