@easemate/web-kit 0.1.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 (358) hide show
  1. package/README.md +824 -0
  2. package/build/components/code/index.cjs +152 -0
  3. package/build/components/code/index.d.cts +11 -0
  4. package/build/components/code/index.d.ts +11 -0
  5. package/build/components/code/index.js +148 -0
  6. package/build/components/code/utils/highlight-api.cjs +18 -0
  7. package/build/components/code/utils/highlight-api.d.cts +7 -0
  8. package/build/components/code/utils/highlight-api.d.ts +7 -0
  9. package/build/components/code/utils/highlight-api.js +14 -0
  10. package/build/components/code/utils/syntax-grammars.cjs +62 -0
  11. package/build/components/code/utils/syntax-grammars.d.cts +7 -0
  12. package/build/components/code/utils/syntax-grammars.d.ts +7 -0
  13. package/build/components/code/utils/syntax-grammars.js +59 -0
  14. package/build/components/code/utils/syntax-highlighter-theme.cjs +27 -0
  15. package/build/components/code/utils/syntax-highlighter-theme.d.cts +3 -0
  16. package/build/components/code/utils/syntax-highlighter-theme.d.ts +3 -0
  17. package/build/components/code/utils/syntax-highlighter-theme.js +23 -0
  18. package/build/components/code/utils/syntax-highlighter-types.cjs +2 -0
  19. package/build/components/code/utils/syntax-highlighter-types.d.cts +12 -0
  20. package/build/components/code/utils/syntax-highlighter-types.d.ts +12 -0
  21. package/build/components/code/utils/syntax-highlighter-types.js +1 -0
  22. package/build/components/code/utils/syntax-tokenizer.cjs +63 -0
  23. package/build/components/code/utils/syntax-tokenizer.d.cts +3 -0
  24. package/build/components/code/utils/syntax-tokenizer.d.ts +3 -0
  25. package/build/components/code/utils/syntax-tokenizer.js +58 -0
  26. package/build/components/curve/bezier-conversion.cjs +23 -0
  27. package/build/components/curve/bezier-conversion.d.cts +2 -0
  28. package/build/components/curve/bezier-conversion.d.ts +2 -0
  29. package/build/components/curve/bezier-conversion.js +19 -0
  30. package/build/components/curve/canvas-controls.cjs +300 -0
  31. package/build/components/curve/canvas-controls.d.cts +12 -0
  32. package/build/components/curve/canvas-controls.d.ts +12 -0
  33. package/build/components/curve/canvas-controls.js +296 -0
  34. package/build/components/curve/canvas.cjs +1208 -0
  35. package/build/components/curve/canvas.d.cts +24 -0
  36. package/build/components/curve/canvas.d.ts +24 -0
  37. package/build/components/curve/canvas.js +1204 -0
  38. package/build/components/curve/constants.cjs +203 -0
  39. package/build/components/curve/constants.d.cts +23 -0
  40. package/build/components/curve/constants.d.ts +23 -0
  41. package/build/components/curve/constants.js +200 -0
  42. package/build/components/curve/controls.cjs +942 -0
  43. package/build/components/curve/controls.d.cts +37 -0
  44. package/build/components/curve/controls.d.ts +37 -0
  45. package/build/components/curve/controls.js +938 -0
  46. package/build/components/curve/index.cjs +335 -0
  47. package/build/components/curve/index.d.cts +31 -0
  48. package/build/components/curve/index.d.ts +31 -0
  49. package/build/components/curve/index.js +330 -0
  50. package/build/components/curve/output.cjs +141 -0
  51. package/build/components/curve/output.d.cts +19 -0
  52. package/build/components/curve/output.d.ts +19 -0
  53. package/build/components/curve/output.js +137 -0
  54. package/build/components/curve/styles.cjs +493 -0
  55. package/build/components/curve/styles.d.cts +6 -0
  56. package/build/components/curve/styles.d.ts +6 -0
  57. package/build/components/curve/styles.js +490 -0
  58. package/build/components/curve/svg-renderer.cjs +185 -0
  59. package/build/components/curve/svg-renderer.d.cts +9 -0
  60. package/build/components/curve/svg-renderer.d.ts +9 -0
  61. package/build/components/curve/svg-renderer.js +175 -0
  62. package/build/components/curve/toolbar.cjs +368 -0
  63. package/build/components/curve/toolbar.d.cts +26 -0
  64. package/build/components/curve/toolbar.d.ts +26 -0
  65. package/build/components/curve/toolbar.js +364 -0
  66. package/build/components/curve/types.cjs +10 -0
  67. package/build/components/curve/types.d.cts +33 -0
  68. package/build/components/curve/types.d.ts +33 -0
  69. package/build/components/curve/types.js +7 -0
  70. package/build/components/curve/utils.cjs +541 -0
  71. package/build/components/curve/utils.d.cts +33 -0
  72. package/build/components/curve/utils.d.ts +33 -0
  73. package/build/components/curve/utils.js +521 -0
  74. package/build/components/index.cjs +18 -0
  75. package/build/components/index.d.cts +2 -0
  76. package/build/components/index.d.ts +2 -0
  77. package/build/components/index.js +2 -0
  78. package/build/decorators/Component.cjs +127 -0
  79. package/build/decorators/Component.d.cts +28 -0
  80. package/build/decorators/Component.d.ts +28 -0
  81. package/build/decorators/Component.js +123 -0
  82. package/build/decorators/Listen.cjs +154 -0
  83. package/build/decorators/Listen.d.cts +18 -0
  84. package/build/decorators/Listen.d.ts +18 -0
  85. package/build/decorators/Listen.js +151 -0
  86. package/build/decorators/OutsideClick.cjs +64 -0
  87. package/build/decorators/OutsideClick.d.cts +16 -0
  88. package/build/decorators/OutsideClick.d.ts +16 -0
  89. package/build/decorators/OutsideClick.js +59 -0
  90. package/build/decorators/Prop.cjs +273 -0
  91. package/build/decorators/Prop.d.cts +22 -0
  92. package/build/decorators/Prop.d.ts +22 -0
  93. package/build/decorators/Prop.js +270 -0
  94. package/build/decorators/Query.cjs +79 -0
  95. package/build/decorators/Query.d.cts +27 -0
  96. package/build/decorators/Query.d.ts +27 -0
  97. package/build/decorators/Query.js +76 -0
  98. package/build/decorators/Watch.cjs +52 -0
  99. package/build/decorators/Watch.d.cts +11 -0
  100. package/build/decorators/Watch.d.ts +11 -0
  101. package/build/decorators/Watch.js +49 -0
  102. package/build/decorators/index.cjs +15 -0
  103. package/build/decorators/index.d.cts +6 -0
  104. package/build/decorators/index.d.ts +6 -0
  105. package/build/decorators/index.js +6 -0
  106. package/build/elements/button/index.cjs +214 -0
  107. package/build/elements/button/index.d.cts +11 -0
  108. package/build/elements/button/index.d.ts +11 -0
  109. package/build/elements/button/index.js +210 -0
  110. package/build/elements/checkbox/index.cjs +316 -0
  111. package/build/elements/checkbox/index.d.cts +14 -0
  112. package/build/elements/checkbox/index.d.ts +14 -0
  113. package/build/elements/checkbox/index.js +312 -0
  114. package/build/elements/color/index.cjs +154 -0
  115. package/build/elements/color/index.d.cts +18 -0
  116. package/build/elements/color/index.d.ts +18 -0
  117. package/build/elements/color/index.js +150 -0
  118. package/build/elements/color/picker.cjs +544 -0
  119. package/build/elements/color/picker.d.cts +37 -0
  120. package/build/elements/color/picker.d.ts +37 -0
  121. package/build/elements/color/picker.js +540 -0
  122. package/build/elements/color/utils.cjs +235 -0
  123. package/build/elements/color/utils.d.cts +37 -0
  124. package/build/elements/color/utils.d.ts +37 -0
  125. package/build/elements/color/utils.js +218 -0
  126. package/build/elements/dropdown/index.cjs +875 -0
  127. package/build/elements/dropdown/index.d.cts +30 -0
  128. package/build/elements/dropdown/index.d.ts +30 -0
  129. package/build/elements/dropdown/index.js +871 -0
  130. package/build/elements/field/index.cjs +82 -0
  131. package/build/elements/field/index.d.cts +4 -0
  132. package/build/elements/field/index.d.ts +4 -0
  133. package/build/elements/field/index.js +78 -0
  134. package/build/elements/icons/animation/chevron.cjs +57 -0
  135. package/build/elements/icons/animation/chevron.d.cts +10 -0
  136. package/build/elements/icons/animation/chevron.d.ts +10 -0
  137. package/build/elements/icons/animation/chevron.js +53 -0
  138. package/build/elements/icons/animation/clear.cjs +74 -0
  139. package/build/elements/icons/animation/clear.d.cts +3 -0
  140. package/build/elements/icons/animation/clear.d.ts +3 -0
  141. package/build/elements/icons/animation/clear.js +70 -0
  142. package/build/elements/icons/animation/grid.cjs +77 -0
  143. package/build/elements/icons/animation/grid.d.cts +8 -0
  144. package/build/elements/icons/animation/grid.d.ts +8 -0
  145. package/build/elements/icons/animation/grid.js +73 -0
  146. package/build/elements/icons/animation/loading.cjs +68 -0
  147. package/build/elements/icons/animation/loading.d.cts +3 -0
  148. package/build/elements/icons/animation/loading.d.ts +3 -0
  149. package/build/elements/icons/animation/loading.js +64 -0
  150. package/build/elements/icons/animation/snap.cjs +133 -0
  151. package/build/elements/icons/animation/snap.d.cts +8 -0
  152. package/build/elements/icons/animation/snap.d.ts +8 -0
  153. package/build/elements/icons/animation/snap.js +129 -0
  154. package/build/elements/icons/index.cjs +40 -0
  155. package/build/elements/icons/index.d.cts +24 -0
  156. package/build/elements/icons/index.d.ts +24 -0
  157. package/build/elements/icons/index.js +24 -0
  158. package/build/elements/icons/interface/anchor-add.cjs +35 -0
  159. package/build/elements/icons/interface/anchor-add.d.cts +3 -0
  160. package/build/elements/icons/interface/anchor-add.d.ts +3 -0
  161. package/build/elements/icons/interface/anchor-add.js +31 -0
  162. package/build/elements/icons/interface/anchor-remove.cjs +34 -0
  163. package/build/elements/icons/interface/anchor-remove.d.cts +3 -0
  164. package/build/elements/icons/interface/anchor-remove.d.ts +3 -0
  165. package/build/elements/icons/interface/anchor-remove.js +30 -0
  166. package/build/elements/icons/interface/arrow-up.cjs +30 -0
  167. package/build/elements/icons/interface/arrow-up.d.cts +3 -0
  168. package/build/elements/icons/interface/arrow-up.d.ts +3 -0
  169. package/build/elements/icons/interface/arrow-up.js +26 -0
  170. package/build/elements/icons/interface/arrows-vertical.cjs +30 -0
  171. package/build/elements/icons/interface/arrows-vertical.d.cts +3 -0
  172. package/build/elements/icons/interface/arrows-vertical.d.ts +3 -0
  173. package/build/elements/icons/interface/arrows-vertical.js +26 -0
  174. package/build/elements/icons/interface/bezier-angle.cjs +33 -0
  175. package/build/elements/icons/interface/bezier-angle.d.cts +3 -0
  176. package/build/elements/icons/interface/bezier-angle.d.ts +3 -0
  177. package/build/elements/icons/interface/bezier-angle.js +29 -0
  178. package/build/elements/icons/interface/bezier-distribute.cjs +34 -0
  179. package/build/elements/icons/interface/bezier-distribute.d.cts +3 -0
  180. package/build/elements/icons/interface/bezier-distribute.d.ts +3 -0
  181. package/build/elements/icons/interface/bezier-distribute.js +30 -0
  182. package/build/elements/icons/interface/bezier-length.cjs +31 -0
  183. package/build/elements/icons/interface/bezier-length.d.cts +3 -0
  184. package/build/elements/icons/interface/bezier-length.d.ts +3 -0
  185. package/build/elements/icons/interface/bezier-length.js +27 -0
  186. package/build/elements/icons/interface/bezier-mirror.cjs +31 -0
  187. package/build/elements/icons/interface/bezier-mirror.d.cts +3 -0
  188. package/build/elements/icons/interface/bezier-mirror.d.ts +3 -0
  189. package/build/elements/icons/interface/bezier-mirror.js +27 -0
  190. package/build/elements/icons/interface/bezier.cjs +26 -0
  191. package/build/elements/icons/interface/bezier.d.cts +3 -0
  192. package/build/elements/icons/interface/bezier.d.ts +3 -0
  193. package/build/elements/icons/interface/bezier.js +22 -0
  194. package/build/elements/icons/interface/check.cjs +30 -0
  195. package/build/elements/icons/interface/check.d.cts +3 -0
  196. package/build/elements/icons/interface/check.d.ts +3 -0
  197. package/build/elements/icons/interface/check.js +26 -0
  198. package/build/elements/icons/interface/circle-arrow-left.cjs +30 -0
  199. package/build/elements/icons/interface/circle-arrow-left.d.cts +3 -0
  200. package/build/elements/icons/interface/circle-arrow-left.d.ts +3 -0
  201. package/build/elements/icons/interface/circle-arrow-left.js +26 -0
  202. package/build/elements/icons/interface/circle-arrow-right.cjs +30 -0
  203. package/build/elements/icons/interface/circle-arrow-right.d.cts +3 -0
  204. package/build/elements/icons/interface/circle-arrow-right.d.ts +3 -0
  205. package/build/elements/icons/interface/circle-arrow-right.js +26 -0
  206. package/build/elements/icons/interface/code.cjs +30 -0
  207. package/build/elements/icons/interface/code.d.cts +3 -0
  208. package/build/elements/icons/interface/code.d.ts +3 -0
  209. package/build/elements/icons/interface/code.js +26 -0
  210. package/build/elements/icons/interface/dots.cjs +32 -0
  211. package/build/elements/icons/interface/dots.d.cts +3 -0
  212. package/build/elements/icons/interface/dots.d.ts +3 -0
  213. package/build/elements/icons/interface/dots.js +28 -0
  214. package/build/elements/icons/interface/mention.cjs +30 -0
  215. package/build/elements/icons/interface/mention.d.cts +3 -0
  216. package/build/elements/icons/interface/mention.d.ts +3 -0
  217. package/build/elements/icons/interface/mention.js +26 -0
  218. package/build/elements/icons/interface/minus.cjs +30 -0
  219. package/build/elements/icons/interface/minus.d.cts +3 -0
  220. package/build/elements/icons/interface/minus.d.ts +3 -0
  221. package/build/elements/icons/interface/minus.js +26 -0
  222. package/build/elements/icons/interface/picker.cjs +34 -0
  223. package/build/elements/icons/interface/picker.d.cts +3 -0
  224. package/build/elements/icons/interface/picker.d.ts +3 -0
  225. package/build/elements/icons/interface/picker.js +30 -0
  226. package/build/elements/icons/interface/plus.cjs +30 -0
  227. package/build/elements/icons/interface/plus.d.cts +3 -0
  228. package/build/elements/icons/interface/plus.d.ts +3 -0
  229. package/build/elements/icons/interface/plus.js +26 -0
  230. package/build/elements/icons/interface/settings.cjs +30 -0
  231. package/build/elements/icons/interface/settings.d.cts +3 -0
  232. package/build/elements/icons/interface/settings.d.ts +3 -0
  233. package/build/elements/icons/interface/settings.js +26 -0
  234. package/build/elements/index.cjs +62 -0
  235. package/build/elements/index.d.cts +22 -0
  236. package/build/elements/index.d.ts +22 -0
  237. package/build/elements/index.js +22 -0
  238. package/build/elements/input/index.cjs +273 -0
  239. package/build/elements/input/index.d.cts +17 -0
  240. package/build/elements/input/index.d.ts +17 -0
  241. package/build/elements/input/index.js +269 -0
  242. package/build/elements/logo/index.cjs +732 -0
  243. package/build/elements/logo/index.d.cts +17 -0
  244. package/build/elements/logo/index.d.ts +17 -0
  245. package/build/elements/logo/index.js +728 -0
  246. package/build/elements/monitor/fps.cjs +432 -0
  247. package/build/elements/monitor/fps.d.cts +21 -0
  248. package/build/elements/monitor/fps.d.ts +21 -0
  249. package/build/elements/monitor/fps.js +428 -0
  250. package/build/elements/monitor/index.cjs +670 -0
  251. package/build/elements/monitor/index.d.cts +112 -0
  252. package/build/elements/monitor/index.d.ts +112 -0
  253. package/build/elements/monitor/index.js +666 -0
  254. package/build/elements/number/index.cjs +173 -0
  255. package/build/elements/number/index.d.cts +19 -0
  256. package/build/elements/number/index.d.ts +19 -0
  257. package/build/elements/number/index.js +169 -0
  258. package/build/elements/origin/index.cjs +169 -0
  259. package/build/elements/origin/index.d.cts +12 -0
  260. package/build/elements/origin/index.d.ts +12 -0
  261. package/build/elements/origin/index.js +165 -0
  262. package/build/elements/popover/index.cjs +209 -0
  263. package/build/elements/popover/index.d.cts +19 -0
  264. package/build/elements/popover/index.d.ts +19 -0
  265. package/build/elements/popover/index.js +205 -0
  266. package/build/elements/radio/index.cjs +301 -0
  267. package/build/elements/radio/index.d.cts +13 -0
  268. package/build/elements/radio/index.d.ts +13 -0
  269. package/build/elements/radio/index.js +283 -0
  270. package/build/elements/radio/input.cjs +329 -0
  271. package/build/elements/radio/input.d.cts +15 -0
  272. package/build/elements/radio/input.d.ts +15 -0
  273. package/build/elements/radio/input.js +325 -0
  274. package/build/elements/radio/option.cjs +15 -0
  275. package/build/elements/radio/option.d.cts +3 -0
  276. package/build/elements/radio/option.d.ts +3 -0
  277. package/build/elements/radio/option.js +11 -0
  278. package/build/elements/shared.cjs +66 -0
  279. package/build/elements/shared.d.cts +40 -0
  280. package/build/elements/shared.d.ts +40 -0
  281. package/build/elements/shared.js +59 -0
  282. package/build/elements/slider/index.cjs +232 -0
  283. package/build/elements/slider/index.d.cts +20 -0
  284. package/build/elements/slider/index.d.ts +20 -0
  285. package/build/elements/slider/index.js +228 -0
  286. package/build/elements/state/index.cjs +681 -0
  287. package/build/elements/state/index.d.cts +86 -0
  288. package/build/elements/state/index.d.ts +86 -0
  289. package/build/elements/state/index.js +677 -0
  290. package/build/elements/toggle/index.cjs +151 -0
  291. package/build/elements/toggle/index.d.cts +9 -0
  292. package/build/elements/toggle/index.d.ts +9 -0
  293. package/build/elements/toggle/index.js +147 -0
  294. package/build/elements/tooltip/index.cjs +187 -0
  295. package/build/elements/tooltip/index.d.cts +17 -0
  296. package/build/elements/tooltip/index.d.ts +17 -0
  297. package/build/elements/tooltip/index.js +183 -0
  298. package/build/index.cjs +40 -0
  299. package/build/index.d.cts +6 -0
  300. package/build/index.d.ts +6 -0
  301. package/build/index.js +12 -0
  302. package/build/init.cjs +325 -0
  303. package/build/init.d.cts +157 -0
  304. package/build/init.d.ts +157 -0
  305. package/build/init.js +289 -0
  306. package/build/internal/component-loaders.cjs +206 -0
  307. package/build/internal/component-loaders.d.cts +52 -0
  308. package/build/internal/component-loaders.d.ts +52 -0
  309. package/build/internal/component-loaders.js +167 -0
  310. package/build/internal/fonts.cjs +128 -0
  311. package/build/internal/fonts.d.cts +32 -0
  312. package/build/internal/fonts.d.ts +32 -0
  313. package/build/internal/fonts.js +123 -0
  314. package/build/internal/lazy-load.cjs +89 -0
  315. package/build/internal/lazy-load.d.cts +32 -0
  316. package/build/internal/lazy-load.d.ts +32 -0
  317. package/build/internal/lazy-load.js +86 -0
  318. package/build/internal/style-inject.cjs +236 -0
  319. package/build/internal/style-inject.d.cts +44 -0
  320. package/build/internal/style-inject.d.ts +44 -0
  321. package/build/internal/style-inject.js +226 -0
  322. package/build/register.cjs +36 -0
  323. package/build/register.d.cts +32 -0
  324. package/build/register.d.ts +32 -0
  325. package/build/register.js +34 -0
  326. package/build/theme/index.cjs +452 -0
  327. package/build/theme/index.d.cts +146 -0
  328. package/build/theme/index.d.ts +146 -0
  329. package/build/theme/index.js +423 -0
  330. package/build/theme/presets.cjs +54 -0
  331. package/build/theme/presets.d.cts +19 -0
  332. package/build/theme/presets.d.ts +19 -0
  333. package/build/theme/presets.js +51 -0
  334. package/build/theme/registry.cjs +204 -0
  335. package/build/theme/registry.d.cts +99 -0
  336. package/build/theme/registry.d.ts +99 -0
  337. package/build/theme/registry.js +194 -0
  338. package/build/theme/tokens.cjs +148 -0
  339. package/build/theme/tokens.d.cts +163 -0
  340. package/build/theme/tokens.d.ts +163 -0
  341. package/build/theme/tokens.js +145 -0
  342. package/build/utils/dismiss-controller.cjs +77 -0
  343. package/build/utils/dismiss-controller.d.cts +14 -0
  344. package/build/utils/dismiss-controller.d.ts +14 -0
  345. package/build/utils/dismiss-controller.js +73 -0
  346. package/build/utils/index.cjs +18 -0
  347. package/build/utils/index.d.cts +3 -0
  348. package/build/utils/index.d.ts +3 -0
  349. package/build/utils/index.js +3 -0
  350. package/build/utils/outside-click.cjs +82 -0
  351. package/build/utils/outside-click.d.cts +18 -0
  352. package/build/utils/outside-click.d.ts +18 -0
  353. package/build/utils/outside-click.js +74 -0
  354. package/build/utils/template-helpers.cjs +39 -0
  355. package/build/utils/template-helpers.d.cts +13 -0
  356. package/build/utils/template-helpers.d.ts +13 -0
  357. package/build/utils/template-helpers.js +28 -0
  358. package/package.json +96 -0
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultTypography = exports.defaultSpacing = exports.defaultRadii = exports.defaultColors = void 0;
4
+ /**
5
+ * Default color values (oklab)
6
+ */
7
+ exports.defaultColors = {
8
+ gray: {
9
+ 0: 'oklab(98.81% 0 0)',
10
+ 100: 'oklab(97.64% 0.0004 -0.0013)',
11
+ 300: 'oklab(93.49% 0.0011 -0.0039)',
12
+ 400: 'oklab(89.52% 0.0009 -0.0068)',
13
+ 500: 'oklab(81.71% -0.0002 -0.0073)',
14
+ 600: 'oklab(65.21% -0.0019 -0.0144)',
15
+ 700: 'oklab(37.92% -0.0006 -0.0179)',
16
+ 800: 'oklab(28.45% -0.0012 -0.0118)',
17
+ 825: 'oklab(26.45% -0.0012 -0.0105)',
18
+ 850: 'oklab(24.50% -0.0012 -0.0105)',
19
+ 875: 'oklab(22.66% -0.0009 -0.0097)',
20
+ 900: 'oklab(20.68% -0.0006 -0.0065)',
21
+ 1000: 'oklab(18.81% -0.0012 -0.006)'
22
+ },
23
+ blue: {
24
+ 100: 'oklab(98.65% 0.0019 -0.0063)',
25
+ 200: 'oklab(97.45% 0.0057 -0.0121)',
26
+ 300: 'oklab(95.88% 0.0086 -0.0183)',
27
+ 400: 'oklab(91.21% 0.0179 -0.0399)',
28
+ 500: 'oklab(84.61% 0.0327 -0.0725)',
29
+ 600: 'oklab(76.85% 0.0462 -0.1115)',
30
+ 700: 'oklab(68.28% 0.0582 -0.1575)',
31
+ 800: 'oklab(59.36% 0.0641 -0.2083)',
32
+ 900: 'oklab(50.69% 0.0492 -0.2575)',
33
+ 1000: 'oklab(46.82% 0.0475 -0.2273)',
34
+ 1100: 'oklch(0.4013 0.171 284.66)'
35
+ },
36
+ green: {
37
+ 100: 'oklab(98.44% -0.009 0.0042)',
38
+ 200: 'oklab(97.57% -0.0127 0.0058)',
39
+ 300: 'oklab(96.32% -0.0176 0.0071)',
40
+ 400: 'oklab(93.66% -0.0341 0.0149)',
41
+ 500: 'oklab(89.96% -0.0529 0.0237)',
42
+ 600: 'oklab(85.44% -0.0759 0.0346)',
43
+ 700: 'oklab(80.59% -0.1005 0.0484)',
44
+ 800: 'oklab(75.87% -0.1245 0.0639)',
45
+ 900: 'oklab(71.18% -0.1439 0.0799)',
46
+ 1000: 'oklab(64.89% -0.1265 0.0677)'
47
+ },
48
+ red: {
49
+ 100: 'oklab(99.04% 0.0031 0.0009)',
50
+ 200: 'oklab(97.85% 0.0072 0.0022)',
51
+ 300: 'oklab(95.52% 0.0159 0.0036)',
52
+ 400: 'oklab(89.9% 0.037 0.0091)',
53
+ 500: 'oklab(82.78% 0.0664 0.0181)',
54
+ 600: 'oklab(74.46% 0.105 0.031)',
55
+ 700: 'oklab(65.73% 0.1467 0.0503)',
56
+ 800: 'oklab(58.28% 0.1811 0.0773)',
57
+ 900: 'oklab(53.11% 0.1914 0.1028)',
58
+ 1000: 'oklab(48.4% 0.1727 0.0903)'
59
+ },
60
+ orange: {
61
+ 100: 'oklab(99.47% 0.0009 0.0044)',
62
+ 200: 'oklab(98.95% 0.0018 0.0088)',
63
+ 300: 'oklab(97.58% 0.0073 0.0133)',
64
+ 400: 'oklab(94.81% 0.0136 0.0305)',
65
+ 500: 'oklab(90.97% 0.0248 0.0519)',
66
+ 600: 'oklab(86.55% 0.0389 0.0778)',
67
+ 700: 'oklab(81.73% 0.0568 0.1053)',
68
+ 800: 'oklab(77.05% 0.0777 0.1296)',
69
+ 900: 'oklab(72.25% 0.108 0.143)',
70
+ 1000: 'oklab(65.81% 0.092 0.1281)'
71
+ },
72
+ yellow: {
73
+ 100: 'oklab(99.14% 0.0004 0.0098)',
74
+ 200: 'oklab(97.98% 0.0003 0.0248)',
75
+ 300: 'oklab(96.81% -0.0002 0.0409)',
76
+ 400: 'oklab(95.68% -0.0003 0.0555)',
77
+ 500: 'oklab(91.97% 0.0002 0.102)',
78
+ 600: 'oklab(88.75% 0.0018 0.1409)',
79
+ 700: 'oklab(85.67% 0.0101 0.1648)',
80
+ 800: 'oklab(76.85% 0.0212 0.1568)'
81
+ },
82
+ white: 'oklab(95.14% -0.0013 -0.0186)',
83
+ black: 'oklab(0% 0 0)',
84
+ whiteAlpha: {
85
+ 0: 'oklab(95.14% -0.0013 -0.0186 / 0)',
86
+ 2: 'oklab(95.14% -0.0013 -0.0186 / 0.02)',
87
+ 4: 'oklab(95.14% -0.0013 -0.0186 / 0.04)',
88
+ 6: 'oklab(95.14% -0.0013 -0.0186 / 0.06)',
89
+ 8: 'oklab(95.14% -0.0013 -0.0186 / 0.08)',
90
+ 10: 'oklab(95.14% -0.0013 -0.0186 / 0.1)',
91
+ 12: 'oklab(95.14% -0.0013 -0.0186 / 0.12)',
92
+ 15: 'oklab(95.14% -0.0013 -0.0186 / 0.15)',
93
+ 20: 'oklab(95.14% -0.0013 -0.0186 / 0.2)',
94
+ 30: 'oklab(95.14% -0.0013 -0.0186 / 0.3)',
95
+ 40: 'oklab(95.14% -0.0013 -0.0186 / 0.4)',
96
+ 50: 'oklab(95.14% -0.0013 -0.0186 / 0.5)',
97
+ 70: 'oklab(95.14% -0.0013 -0.0186 / 0.7)',
98
+ 80: 'oklab(95.14% -0.0013 -0.0186 / 0.8)',
99
+ 90: 'oklab(95.14% -0.0013 -0.0186 / 0.9)'
100
+ },
101
+ blackAlpha: {
102
+ 0: 'oklab(0% 0 0 / 0)',
103
+ 2: 'oklab(0% 0 0 / 0.02)',
104
+ 4: 'oklab(0% 0 0 / 0.04)',
105
+ 6: 'oklab(0% 0 0 / 0.06)',
106
+ 8: 'oklab(0% 0 0 / 0.08)',
107
+ 10: 'oklab(0% 0 0 / 0.1)',
108
+ 12: 'oklab(0% 0 0 / 0.12)',
109
+ 15: 'oklab(0% 0 0 / 0.15)',
110
+ 20: 'oklab(0% 0 0 / 0.2)',
111
+ 30: 'oklab(0% 0 0 / 0.3)',
112
+ 40: 'oklab(0% 0 0 / 0.4)',
113
+ 50: 'oklab(0% 0 0 / 0.5)',
114
+ 70: 'oklab(0% 0 0 / 0.7)',
115
+ 80: 'oklab(0% 0 0 / 0.8)',
116
+ 90: 'oklab(0% 0 0 / 0.9)'
117
+ },
118
+ foreground: 'var(--color-gray-0)'
119
+ };
120
+ /**
121
+ * Default border radius values
122
+ */
123
+ exports.defaultRadii = {
124
+ sm: '4px',
125
+ md: '8px',
126
+ lg: '12px',
127
+ xl: '16px',
128
+ full: '9999px'
129
+ };
130
+ /**
131
+ * Default spacing values
132
+ */
133
+ exports.defaultSpacing = {
134
+ xs: '4px',
135
+ sm: '8px',
136
+ md: '12px',
137
+ lg: '16px',
138
+ xl: '24px'
139
+ };
140
+ /**
141
+ * Default typography values
142
+ */
143
+ exports.defaultTypography = {
144
+ fontFamily: '"Instrument Sans", system-ui, sans-serif',
145
+ fontMono: '"Geist Mono", monospace',
146
+ fontSize: '13px',
147
+ lineHeight: '1.5'
148
+ };
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Color scale levels
3
+ */
4
+ export type ColorScale = {
5
+ 100?: string;
6
+ 200?: string;
7
+ 300?: string;
8
+ 400?: string;
9
+ 500?: string;
10
+ 600?: string;
11
+ 700?: string;
12
+ 800?: string;
13
+ 900?: string;
14
+ 1000?: string;
15
+ 1100?: string;
16
+ };
17
+ /**
18
+ * Gray color scale with additional intermediate values
19
+ */
20
+ export type GrayScale = ColorScale & {
21
+ 0?: string;
22
+ 825?: string;
23
+ 850?: string;
24
+ 875?: string;
25
+ };
26
+ /**
27
+ * Alpha color variations
28
+ */
29
+ export type AlphaColors = {
30
+ 0?: string;
31
+ 2?: string;
32
+ 4?: string;
33
+ 6?: string;
34
+ 8?: string;
35
+ 10?: string;
36
+ 12?: string;
37
+ 15?: string;
38
+ 20?: string;
39
+ 30?: string;
40
+ 40?: string;
41
+ 50?: string;
42
+ 70?: string;
43
+ 80?: string;
44
+ 90?: string;
45
+ };
46
+ /**
47
+ * Color palette configuration
48
+ */
49
+ export interface ColorPalette {
50
+ /** Gray scale colors */
51
+ gray?: GrayScale;
52
+ /** Blue scale colors */
53
+ blue?: ColorScale;
54
+ /** Green scale colors */
55
+ green?: ColorScale;
56
+ /** Red scale colors */
57
+ red?: ColorScale;
58
+ /** Orange scale colors */
59
+ orange?: ColorScale;
60
+ /** Yellow scale colors */
61
+ yellow?: ColorScale;
62
+ /** Base white color */
63
+ white?: string;
64
+ /** Base black color */
65
+ black?: string;
66
+ /** White alpha variations */
67
+ whiteAlpha?: AlphaColors;
68
+ /** Black alpha variations */
69
+ blackAlpha?: AlphaColors;
70
+ /** Foreground color */
71
+ foreground?: string;
72
+ }
73
+ /**
74
+ * Border radius configuration
75
+ */
76
+ export interface RadiiConfig {
77
+ /** Small radius (4px default) */
78
+ sm?: string;
79
+ /** Medium radius (8px default) */
80
+ md?: string;
81
+ /** Large radius (12px default) */
82
+ lg?: string;
83
+ /** Extra large radius (16px default) */
84
+ xl?: string;
85
+ /** Full/pill radius */
86
+ full?: string;
87
+ }
88
+ /**
89
+ * Spacing configuration
90
+ */
91
+ export interface SpacingConfig {
92
+ /** Extra small spacing */
93
+ xs?: string;
94
+ /** Small spacing */
95
+ sm?: string;
96
+ /** Medium spacing */
97
+ md?: string;
98
+ /** Large spacing */
99
+ lg?: string;
100
+ /** Extra large spacing */
101
+ xl?: string;
102
+ }
103
+ /**
104
+ * Typography configuration
105
+ */
106
+ export interface TypographyConfig {
107
+ /** Font family for body text */
108
+ fontFamily?: string;
109
+ /** Font family for monospace/code */
110
+ fontMono?: string;
111
+ /** Base font size */
112
+ fontSize?: string;
113
+ /** Line height */
114
+ lineHeight?: string;
115
+ }
116
+ /**
117
+ * Arbitrary CSS custom properties to apply alongside the theme tokens.
118
+ *
119
+ * Keys may be provided with or without the `--` prefix.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * vars: {
124
+ * '--ease-panel-padding': '16px',
125
+ * 'ease-field-label-width': '40%'
126
+ * }
127
+ * ```
128
+ */
129
+ export type ThemeVars = Record<string, string | number | null | undefined>;
130
+ /**
131
+ * Complete theme configuration
132
+ */
133
+ export interface ThemeConfig {
134
+ /** Color palette */
135
+ colors?: ColorPalette;
136
+ /** Border radii */
137
+ radii?: RadiiConfig;
138
+ /** Spacing values */
139
+ spacing?: SpacingConfig;
140
+ /** Typography settings */
141
+ typography?: TypographyConfig;
142
+ /**
143
+ * Extra CSS variables (component tokens, app tokens, etc).
144
+ * This is the recommended place to set `--ease-*` variables.
145
+ */
146
+ vars?: ThemeVars;
147
+ }
148
+ /**
149
+ * Default color values (oklab)
150
+ */
151
+ export declare const defaultColors: Required<ColorPalette>;
152
+ /**
153
+ * Default border radius values
154
+ */
155
+ export declare const defaultRadii: Required<RadiiConfig>;
156
+ /**
157
+ * Default spacing values
158
+ */
159
+ export declare const defaultSpacing: Required<SpacingConfig>;
160
+ /**
161
+ * Default typography values
162
+ */
163
+ export declare const defaultTypography: Required<TypographyConfig>;
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Color scale levels
3
+ */
4
+ export type ColorScale = {
5
+ 100?: string;
6
+ 200?: string;
7
+ 300?: string;
8
+ 400?: string;
9
+ 500?: string;
10
+ 600?: string;
11
+ 700?: string;
12
+ 800?: string;
13
+ 900?: string;
14
+ 1000?: string;
15
+ 1100?: string;
16
+ };
17
+ /**
18
+ * Gray color scale with additional intermediate values
19
+ */
20
+ export type GrayScale = ColorScale & {
21
+ 0?: string;
22
+ 825?: string;
23
+ 850?: string;
24
+ 875?: string;
25
+ };
26
+ /**
27
+ * Alpha color variations
28
+ */
29
+ export type AlphaColors = {
30
+ 0?: string;
31
+ 2?: string;
32
+ 4?: string;
33
+ 6?: string;
34
+ 8?: string;
35
+ 10?: string;
36
+ 12?: string;
37
+ 15?: string;
38
+ 20?: string;
39
+ 30?: string;
40
+ 40?: string;
41
+ 50?: string;
42
+ 70?: string;
43
+ 80?: string;
44
+ 90?: string;
45
+ };
46
+ /**
47
+ * Color palette configuration
48
+ */
49
+ export interface ColorPalette {
50
+ /** Gray scale colors */
51
+ gray?: GrayScale;
52
+ /** Blue scale colors */
53
+ blue?: ColorScale;
54
+ /** Green scale colors */
55
+ green?: ColorScale;
56
+ /** Red scale colors */
57
+ red?: ColorScale;
58
+ /** Orange scale colors */
59
+ orange?: ColorScale;
60
+ /** Yellow scale colors */
61
+ yellow?: ColorScale;
62
+ /** Base white color */
63
+ white?: string;
64
+ /** Base black color */
65
+ black?: string;
66
+ /** White alpha variations */
67
+ whiteAlpha?: AlphaColors;
68
+ /** Black alpha variations */
69
+ blackAlpha?: AlphaColors;
70
+ /** Foreground color */
71
+ foreground?: string;
72
+ }
73
+ /**
74
+ * Border radius configuration
75
+ */
76
+ export interface RadiiConfig {
77
+ /** Small radius (4px default) */
78
+ sm?: string;
79
+ /** Medium radius (8px default) */
80
+ md?: string;
81
+ /** Large radius (12px default) */
82
+ lg?: string;
83
+ /** Extra large radius (16px default) */
84
+ xl?: string;
85
+ /** Full/pill radius */
86
+ full?: string;
87
+ }
88
+ /**
89
+ * Spacing configuration
90
+ */
91
+ export interface SpacingConfig {
92
+ /** Extra small spacing */
93
+ xs?: string;
94
+ /** Small spacing */
95
+ sm?: string;
96
+ /** Medium spacing */
97
+ md?: string;
98
+ /** Large spacing */
99
+ lg?: string;
100
+ /** Extra large spacing */
101
+ xl?: string;
102
+ }
103
+ /**
104
+ * Typography configuration
105
+ */
106
+ export interface TypographyConfig {
107
+ /** Font family for body text */
108
+ fontFamily?: string;
109
+ /** Font family for monospace/code */
110
+ fontMono?: string;
111
+ /** Base font size */
112
+ fontSize?: string;
113
+ /** Line height */
114
+ lineHeight?: string;
115
+ }
116
+ /**
117
+ * Arbitrary CSS custom properties to apply alongside the theme tokens.
118
+ *
119
+ * Keys may be provided with or without the `--` prefix.
120
+ *
121
+ * @example
122
+ * ```ts
123
+ * vars: {
124
+ * '--ease-panel-padding': '16px',
125
+ * 'ease-field-label-width': '40%'
126
+ * }
127
+ * ```
128
+ */
129
+ export type ThemeVars = Record<string, string | number | null | undefined>;
130
+ /**
131
+ * Complete theme configuration
132
+ */
133
+ export interface ThemeConfig {
134
+ /** Color palette */
135
+ colors?: ColorPalette;
136
+ /** Border radii */
137
+ radii?: RadiiConfig;
138
+ /** Spacing values */
139
+ spacing?: SpacingConfig;
140
+ /** Typography settings */
141
+ typography?: TypographyConfig;
142
+ /**
143
+ * Extra CSS variables (component tokens, app tokens, etc).
144
+ * This is the recommended place to set `--ease-*` variables.
145
+ */
146
+ vars?: ThemeVars;
147
+ }
148
+ /**
149
+ * Default color values (oklab)
150
+ */
151
+ export declare const defaultColors: Required<ColorPalette>;
152
+ /**
153
+ * Default border radius values
154
+ */
155
+ export declare const defaultRadii: Required<RadiiConfig>;
156
+ /**
157
+ * Default spacing values
158
+ */
159
+ export declare const defaultSpacing: Required<SpacingConfig>;
160
+ /**
161
+ * Default typography values
162
+ */
163
+ export declare const defaultTypography: Required<TypographyConfig>;
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Default color values (oklab)
3
+ */
4
+ export const defaultColors = {
5
+ gray: {
6
+ 0: 'oklab(98.81% 0 0)',
7
+ 100: 'oklab(97.64% 0.0004 -0.0013)',
8
+ 300: 'oklab(93.49% 0.0011 -0.0039)',
9
+ 400: 'oklab(89.52% 0.0009 -0.0068)',
10
+ 500: 'oklab(81.71% -0.0002 -0.0073)',
11
+ 600: 'oklab(65.21% -0.0019 -0.0144)',
12
+ 700: 'oklab(37.92% -0.0006 -0.0179)',
13
+ 800: 'oklab(28.45% -0.0012 -0.0118)',
14
+ 825: 'oklab(26.45% -0.0012 -0.0105)',
15
+ 850: 'oklab(24.50% -0.0012 -0.0105)',
16
+ 875: 'oklab(22.66% -0.0009 -0.0097)',
17
+ 900: 'oklab(20.68% -0.0006 -0.0065)',
18
+ 1000: 'oklab(18.81% -0.0012 -0.006)'
19
+ },
20
+ blue: {
21
+ 100: 'oklab(98.65% 0.0019 -0.0063)',
22
+ 200: 'oklab(97.45% 0.0057 -0.0121)',
23
+ 300: 'oklab(95.88% 0.0086 -0.0183)',
24
+ 400: 'oklab(91.21% 0.0179 -0.0399)',
25
+ 500: 'oklab(84.61% 0.0327 -0.0725)',
26
+ 600: 'oklab(76.85% 0.0462 -0.1115)',
27
+ 700: 'oklab(68.28% 0.0582 -0.1575)',
28
+ 800: 'oklab(59.36% 0.0641 -0.2083)',
29
+ 900: 'oklab(50.69% 0.0492 -0.2575)',
30
+ 1000: 'oklab(46.82% 0.0475 -0.2273)',
31
+ 1100: 'oklch(0.4013 0.171 284.66)'
32
+ },
33
+ green: {
34
+ 100: 'oklab(98.44% -0.009 0.0042)',
35
+ 200: 'oklab(97.57% -0.0127 0.0058)',
36
+ 300: 'oklab(96.32% -0.0176 0.0071)',
37
+ 400: 'oklab(93.66% -0.0341 0.0149)',
38
+ 500: 'oklab(89.96% -0.0529 0.0237)',
39
+ 600: 'oklab(85.44% -0.0759 0.0346)',
40
+ 700: 'oklab(80.59% -0.1005 0.0484)',
41
+ 800: 'oklab(75.87% -0.1245 0.0639)',
42
+ 900: 'oklab(71.18% -0.1439 0.0799)',
43
+ 1000: 'oklab(64.89% -0.1265 0.0677)'
44
+ },
45
+ red: {
46
+ 100: 'oklab(99.04% 0.0031 0.0009)',
47
+ 200: 'oklab(97.85% 0.0072 0.0022)',
48
+ 300: 'oklab(95.52% 0.0159 0.0036)',
49
+ 400: 'oklab(89.9% 0.037 0.0091)',
50
+ 500: 'oklab(82.78% 0.0664 0.0181)',
51
+ 600: 'oklab(74.46% 0.105 0.031)',
52
+ 700: 'oklab(65.73% 0.1467 0.0503)',
53
+ 800: 'oklab(58.28% 0.1811 0.0773)',
54
+ 900: 'oklab(53.11% 0.1914 0.1028)',
55
+ 1000: 'oklab(48.4% 0.1727 0.0903)'
56
+ },
57
+ orange: {
58
+ 100: 'oklab(99.47% 0.0009 0.0044)',
59
+ 200: 'oklab(98.95% 0.0018 0.0088)',
60
+ 300: 'oklab(97.58% 0.0073 0.0133)',
61
+ 400: 'oklab(94.81% 0.0136 0.0305)',
62
+ 500: 'oklab(90.97% 0.0248 0.0519)',
63
+ 600: 'oklab(86.55% 0.0389 0.0778)',
64
+ 700: 'oklab(81.73% 0.0568 0.1053)',
65
+ 800: 'oklab(77.05% 0.0777 0.1296)',
66
+ 900: 'oklab(72.25% 0.108 0.143)',
67
+ 1000: 'oklab(65.81% 0.092 0.1281)'
68
+ },
69
+ yellow: {
70
+ 100: 'oklab(99.14% 0.0004 0.0098)',
71
+ 200: 'oklab(97.98% 0.0003 0.0248)',
72
+ 300: 'oklab(96.81% -0.0002 0.0409)',
73
+ 400: 'oklab(95.68% -0.0003 0.0555)',
74
+ 500: 'oklab(91.97% 0.0002 0.102)',
75
+ 600: 'oklab(88.75% 0.0018 0.1409)',
76
+ 700: 'oklab(85.67% 0.0101 0.1648)',
77
+ 800: 'oklab(76.85% 0.0212 0.1568)'
78
+ },
79
+ white: 'oklab(95.14% -0.0013 -0.0186)',
80
+ black: 'oklab(0% 0 0)',
81
+ whiteAlpha: {
82
+ 0: 'oklab(95.14% -0.0013 -0.0186 / 0)',
83
+ 2: 'oklab(95.14% -0.0013 -0.0186 / 0.02)',
84
+ 4: 'oklab(95.14% -0.0013 -0.0186 / 0.04)',
85
+ 6: 'oklab(95.14% -0.0013 -0.0186 / 0.06)',
86
+ 8: 'oklab(95.14% -0.0013 -0.0186 / 0.08)',
87
+ 10: 'oklab(95.14% -0.0013 -0.0186 / 0.1)',
88
+ 12: 'oklab(95.14% -0.0013 -0.0186 / 0.12)',
89
+ 15: 'oklab(95.14% -0.0013 -0.0186 / 0.15)',
90
+ 20: 'oklab(95.14% -0.0013 -0.0186 / 0.2)',
91
+ 30: 'oklab(95.14% -0.0013 -0.0186 / 0.3)',
92
+ 40: 'oklab(95.14% -0.0013 -0.0186 / 0.4)',
93
+ 50: 'oklab(95.14% -0.0013 -0.0186 / 0.5)',
94
+ 70: 'oklab(95.14% -0.0013 -0.0186 / 0.7)',
95
+ 80: 'oklab(95.14% -0.0013 -0.0186 / 0.8)',
96
+ 90: 'oklab(95.14% -0.0013 -0.0186 / 0.9)'
97
+ },
98
+ blackAlpha: {
99
+ 0: 'oklab(0% 0 0 / 0)',
100
+ 2: 'oklab(0% 0 0 / 0.02)',
101
+ 4: 'oklab(0% 0 0 / 0.04)',
102
+ 6: 'oklab(0% 0 0 / 0.06)',
103
+ 8: 'oklab(0% 0 0 / 0.08)',
104
+ 10: 'oklab(0% 0 0 / 0.1)',
105
+ 12: 'oklab(0% 0 0 / 0.12)',
106
+ 15: 'oklab(0% 0 0 / 0.15)',
107
+ 20: 'oklab(0% 0 0 / 0.2)',
108
+ 30: 'oklab(0% 0 0 / 0.3)',
109
+ 40: 'oklab(0% 0 0 / 0.4)',
110
+ 50: 'oklab(0% 0 0 / 0.5)',
111
+ 70: 'oklab(0% 0 0 / 0.7)',
112
+ 80: 'oklab(0% 0 0 / 0.8)',
113
+ 90: 'oklab(0% 0 0 / 0.9)'
114
+ },
115
+ foreground: 'var(--color-gray-0)'
116
+ };
117
+ /**
118
+ * Default border radius values
119
+ */
120
+ export const defaultRadii = {
121
+ sm: '4px',
122
+ md: '8px',
123
+ lg: '12px',
124
+ xl: '16px',
125
+ full: '9999px'
126
+ };
127
+ /**
128
+ * Default spacing values
129
+ */
130
+ export const defaultSpacing = {
131
+ xs: '4px',
132
+ sm: '8px',
133
+ md: '12px',
134
+ lg: '16px',
135
+ xl: '24px'
136
+ };
137
+ /**
138
+ * Default typography values
139
+ */
140
+ export const defaultTypography = {
141
+ fontFamily: '"Instrument Sans", system-ui, sans-serif',
142
+ fontMono: '"Geist Mono", monospace',
143
+ fontSize: '13px',
144
+ lineHeight: '1.5'
145
+ };
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DismissController = void 0;
4
+ class DismissController {
5
+ #onDismiss;
6
+ #context = null;
7
+ #active = false;
8
+ constructor(options) {
9
+ this.#onDismiss = options.onDismiss;
10
+ }
11
+ connect(context) {
12
+ this.#context = {
13
+ owner: context.owner,
14
+ content: context.content ?? null,
15
+ triggers: (context.triggers ?? []).filter((el) => el instanceof HTMLElement)
16
+ };
17
+ if (!this.#active) {
18
+ document.addEventListener('pointerdown', this.#handlePointerDown, true);
19
+ document.addEventListener('keydown', this.#handleKeyDown, true);
20
+ this.#active = true;
21
+ }
22
+ }
23
+ disconnect() {
24
+ if (!this.#active) {
25
+ return;
26
+ }
27
+ document.removeEventListener('pointerdown', this.#handlePointerDown, true);
28
+ document.removeEventListener('keydown', this.#handleKeyDown, true);
29
+ this.#active = false;
30
+ this.#context = null;
31
+ }
32
+ #handlePointerDown = (event) => {
33
+ if (!this.#context) {
34
+ return;
35
+ }
36
+ const { owner, content, triggers } = this.#context;
37
+ const path = event.composedPath();
38
+ if (path.some((node) => node instanceof Element && node.hasAttribute('data-select-ignore'))) {
39
+ return;
40
+ }
41
+ if (path.includes(owner)) {
42
+ return;
43
+ }
44
+ if (content && path.includes(content)) {
45
+ return;
46
+ }
47
+ if (triggers.some((trigger) => path.includes(trigger))) {
48
+ return;
49
+ }
50
+ this.#onDismiss(event);
51
+ };
52
+ #handleKeyDown = (event) => {
53
+ if (event.key !== 'Escape' || !this.#context) {
54
+ return;
55
+ }
56
+ event.preventDefault();
57
+ const active = document.activeElement;
58
+ if (!active) {
59
+ this.#onDismiss(event);
60
+ return;
61
+ }
62
+ const { owner, content, triggers } = this.#context;
63
+ const path = event.composedPath();
64
+ if (path.includes(owner) || owner.contains(active)) {
65
+ this.#onDismiss(event);
66
+ return;
67
+ }
68
+ if (content && (path.includes(content) || content.contains(active))) {
69
+ this.#onDismiss(event);
70
+ return;
71
+ }
72
+ if (triggers.some((trigger) => path.includes(trigger) || trigger.contains(active))) {
73
+ this.#onDismiss(event);
74
+ }
75
+ };
76
+ }
77
+ exports.DismissController = DismissController;