@mono-lit/helper 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +34 -2
  3. package/dist/breakpoints-CAbhDUht.js +84 -0
  4. package/dist/checkbox-Cqpie9Ap.js +4 -0
  5. package/dist/chip-DBUUa2eB.js +4 -0
  6. package/dist/chip-limits-BMoO31JM.js +213 -0
  7. package/dist/chip-strip-Cw3gyz0q.js +213 -0
  8. package/dist/color-DHYrfXsX.js +253 -0
  9. package/dist/css-class-BRKRzHx-.js +60 -0
  10. package/dist/css-size-DhHSVZJK.js +37 -0
  11. package/dist/data/theme/presets.json.d.ts +140 -0
  12. package/dist/data-search-Bwo5bg8K.js +573 -0
  13. package/dist/data-source-controller-C50Qyfzh.js +178 -0
  14. package/dist/data-source-options-BTpfrOZ_.js +535 -0
  15. package/dist/data-source-options-CQSTZHPE.js +537 -0
  16. package/dist/data-source-read-CUX-lgrQ.js +216 -0
  17. package/dist/data-source-read-DL88aH8t.js +217 -0
  18. package/dist/decorate-DEXtNagw.js +141 -0
  19. package/dist/element-props-CLB6yvbm.js +114 -0
  20. package/dist/esm-Ptok4SQZ.js +2026 -0
  21. package/dist/excel-CY6zGkcx.js +608 -0
  22. package/dist/excel-DopRbEMK.js +608 -0
  23. package/dist/export-BvlBx_GZ.js +2302 -0
  24. package/dist/export.d.ts +1 -0
  25. package/dist/export.js +2302 -0
  26. package/dist/field-icons-BoOG6KrL.js +51 -0
  27. package/dist/field-path-C92eGLg3.js +251 -0
  28. package/dist/filter-builder-Bke3qOgJ.js +205 -0
  29. package/dist/filter-builder-CE4zE0V5.js +205 -0
  30. package/dist/filter-eval-DIfU2EAn.js +173 -0
  31. package/dist/filter-odata-C1vSGZaY.js +591 -0
  32. package/dist/form-control-core-B8d7k6vk.js +223 -0
  33. package/dist/form-control-core-eeRr0zLU.js +223 -0
  34. package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
  35. package/dist/icon-CJkTlmTb.js +55 -0
  36. package/dist/icon-dVhYJUIH.js +17 -0
  37. package/dist/import-BgJdkwBI.js +606 -0
  38. package/dist/import.d.ts +1 -0
  39. package/dist/import.js +606 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.js +16 -0
  42. package/dist/index.node-DjvYOL-J.js +395 -0
  43. package/dist/index.node.d.ts +1 -0
  44. package/dist/index.node.js +16 -0
  45. package/dist/input-zGOULADt.js +4 -0
  46. package/dist/layout-var-CZnzMC0s.js +73 -0
  47. package/dist/light-slots-BVJwyg_2.js +244 -0
  48. package/dist/light-slots-DW1WgfgT.js +254 -0
  49. package/dist/markdown-DfqrfOJN.js +20146 -0
  50. package/dist/mono-button-CoVnBLav.js +873 -0
  51. package/dist/mono-button.shadow-FfP_hMH4.js +784 -0
  52. package/dist/mono-data-chart-ChU4Ii3p.js +738 -0
  53. package/dist/mono-data-dropdown-BAUl58kW.js +357 -0
  54. package/dist/mono-data-grid-CLBK8clE.js +4140 -0
  55. package/dist/mono-data-grid-Db80FzdZ.js +4142 -0
  56. package/dist/mono-element-B0kP_96P.js +232 -0
  57. package/dist/mono-event-Bi1qP9uN.js +129 -0
  58. package/dist/mono-form-controller-5PfsU4qa.js +409 -0
  59. package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
  60. package/dist/mono-ui-CPV7rrdo.js +358 -0
  61. package/dist/notifier-CE4yxMUQ.js +88 -0
  62. package/dist/nuxt.d.ts +1 -0
  63. package/dist/nuxt.js +130 -0
  64. package/dist/popup-portal-BziRX1yG.js +465 -0
  65. package/dist/popup-stack-CEEMib__.js +189 -0
  66. package/dist/rate-limit-BBa2PO79.js +521 -0
  67. package/dist/reactive-BHsqVjRh.js +789 -0
  68. package/dist/reactive-D3EERqgO.js +47 -0
  69. package/dist/search.d.ts +1 -0
  70. package/dist/search.js +97 -0
  71. package/dist/src/components/accordion/accordion-core.d.ts +62 -0
  72. package/dist/src/components/accordion/accordion-types.d.ts +62 -0
  73. package/dist/src/components/accordion/index.d.ts +3 -0
  74. package/dist/src/components/accordion/index.shadow.d.ts +5 -0
  75. package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
  76. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
  77. package/dist/src/components/alert/alert-core.d.ts +46 -0
  78. package/dist/src/components/alert/alert-types.d.ts +44 -0
  79. package/dist/src/components/alert/index.d.ts +3 -0
  80. package/dist/src/components/alert/index.shadow.d.ts +5 -0
  81. package/dist/src/components/alert/mono-alert.d.ts +44 -0
  82. package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
  83. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
  84. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
  85. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
  86. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
  87. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
  88. package/dist/src/components/breadcrumb/index.d.ts +6 -0
  89. package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
  90. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
  91. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
  92. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
  93. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
  94. package/dist/src/components/button/button-core.d.ts +90 -0
  95. package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
  96. package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
  97. package/dist/src/components/button/button-types.d.ts +219 -0
  98. package/dist/src/components/button/button-utils.d.ts +18 -0
  99. package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
  100. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
  101. package/dist/src/components/button/index.d.ts +8 -0
  102. package/dist/src/components/button/index.shadow.d.ts +5 -0
  103. package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
  104. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
  105. package/dist/src/components/button/mono-button.d.ts +123 -0
  106. package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
  107. package/dist/src/components/card/card-core.d.ts +74 -0
  108. package/dist/src/components/card/card-types.d.ts +137 -0
  109. package/dist/src/components/card/card-utils.d.ts +23 -0
  110. package/dist/src/components/card/index.d.ts +4 -0
  111. package/dist/src/components/card/index.shadow.d.ts +6 -0
  112. package/dist/src/components/card/mono-card.d.ts +56 -0
  113. package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
  114. package/dist/src/components/chart/chart-core.d.ts +43 -0
  115. package/dist/src/components/chart/chart-odata.d.ts +52 -0
  116. package/dist/src/components/chart/chart-types.d.ts +337 -0
  117. package/dist/src/components/chart/index.d.ts +8 -0
  118. package/dist/src/components/chart/index.shadow.d.ts +7 -0
  119. package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
  120. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
  121. package/dist/src/components/chart/mono-chart.d.ts +30 -0
  122. package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
  123. package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
  124. package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
  125. package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
  126. package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
  127. package/dist/src/components/checkbox/index.d.ts +4 -0
  128. package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
  129. package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
  130. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
  131. package/dist/src/components/chip/chip-core.d.ts +58 -0
  132. package/dist/src/components/chip/chip-types.d.ts +142 -0
  133. package/dist/src/components/chip/chip-utils.d.ts +24 -0
  134. package/dist/src/components/chip/index.d.ts +8 -0
  135. package/dist/src/components/chip/index.shadow.d.ts +6 -0
  136. package/dist/src/components/chip/mono-chip.d.ts +48 -0
  137. package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
  138. package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
  139. package/dist/src/components/date/date-core.d.ts +80 -0
  140. package/dist/src/components/date/date-types.d.ts +163 -0
  141. package/dist/src/components/date/index.d.ts +3 -0
  142. package/dist/src/components/date/index.shadow.d.ts +4 -0
  143. package/dist/src/components/date/mono-date.d.ts +22 -0
  144. package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
  145. package/dist/src/components/drawer/drawer-core.d.ts +99 -0
  146. package/dist/src/components/drawer/drawer-types.d.ts +153 -0
  147. package/dist/src/components/drawer/index.d.ts +3 -0
  148. package/dist/src/components/drawer/index.shadow.d.ts +4 -0
  149. package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
  150. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
  151. package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
  152. package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
  153. package/dist/src/components/dropdown/index.d.ts +3 -0
  154. package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
  155. package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
  156. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
  157. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
  158. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
  159. package/dist/src/components/dropdown-table/index.d.ts +5 -0
  160. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
  161. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
  162. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
  163. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
  164. package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
  165. package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
  166. package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
  167. package/dist/src/components/file-upload/index.d.ts +4 -0
  168. package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
  169. package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
  170. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
  171. package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
  172. package/dist/src/components/filter/filter-builder.d.ts +23 -0
  173. package/dist/src/components/filter/filter-odata.d.ts +27 -0
  174. package/dist/src/components/filter/filter-operators.d.ts +13 -0
  175. package/dist/src/components/filter/filter-types.d.ts +253 -0
  176. package/dist/src/components/filter/index.d.ts +6 -0
  177. package/dist/src/components/filter/index.shadow.d.ts +7 -0
  178. package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
  179. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
  180. package/dist/src/components/form/form-control-core.d.ts +37 -0
  181. package/dist/src/components/form/form-rules.d.ts +25 -0
  182. package/dist/src/components/form/form-types.d.ts +307 -0
  183. package/dist/src/components/form/index.d.ts +6 -0
  184. package/dist/src/components/form/mono-form-controller.d.ts +16 -0
  185. package/dist/src/components/input/index.d.ts +6 -0
  186. package/dist/src/components/input/index.shadow.d.ts +8 -0
  187. package/dist/src/components/input/input-core.d.ts +91 -0
  188. package/dist/src/components/input/input-format.d.ts +118 -0
  189. package/dist/src/components/input/input-types.d.ts +179 -0
  190. package/dist/src/components/input/input-utils.d.ts +10 -0
  191. package/dist/src/components/input/mono-input.d.ts +46 -0
  192. package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
  193. package/dist/src/components/menu/index.d.ts +6 -0
  194. package/dist/src/components/menu/index.shadow.d.ts +7 -0
  195. package/dist/src/components/menu/menu-core.d.ts +65 -0
  196. package/dist/src/components/menu/menu-render.d.ts +55 -0
  197. package/dist/src/components/menu/menu-types.d.ts +195 -0
  198. package/dist/src/components/menu/menu-utils.d.ts +53 -0
  199. package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
  200. package/dist/src/components/menu/mono-menu.d.ts +39 -0
  201. package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
  202. package/dist/src/components/modal/index.d.ts +4 -0
  203. package/dist/src/components/modal/index.shadow.d.ts +5 -0
  204. package/dist/src/components/modal/modal-core.d.ts +110 -0
  205. package/dist/src/components/modal/modal-types.d.ts +304 -0
  206. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
  207. package/dist/src/components/modal/mono-modal.d.ts +45 -0
  208. package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
  209. package/dist/src/components/nav/index.d.ts +4 -0
  210. package/dist/src/components/nav/index.shadow.d.ts +6 -0
  211. package/dist/src/components/nav/mono-nav.d.ts +41 -0
  212. package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
  213. package/dist/src/components/nav/nav-core.d.ts +34 -0
  214. package/dist/src/components/nav/nav-types.d.ts +48 -0
  215. package/dist/src/components/nav/nav-utils.d.ts +12 -0
  216. package/dist/src/components/radio/index.d.ts +4 -0
  217. package/dist/src/components/radio/index.shadow.d.ts +5 -0
  218. package/dist/src/components/radio/mono-radio.d.ts +31 -0
  219. package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
  220. package/dist/src/components/radio/radio-core.d.ts +45 -0
  221. package/dist/src/components/radio/radio-types.d.ts +58 -0
  222. package/dist/src/components/radio/radio-utils.d.ts +12 -0
  223. package/dist/src/components/rich-text-editor/index.d.ts +5 -0
  224. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
  225. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
  226. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
  227. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
  228. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
  229. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
  230. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
  231. package/dist/src/components/select/index.d.ts +4 -0
  232. package/dist/src/components/select/index.shadow.d.ts +5 -0
  233. package/dist/src/components/select/mono-select.d.ts +69 -0
  234. package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
  235. package/dist/src/components/select/select-core.d.ts +98 -0
  236. package/dist/src/components/select/select-types.d.ts +258 -0
  237. package/dist/src/components/select/select-utils.d.ts +7 -0
  238. package/dist/src/components/sidebar/index.d.ts +4 -0
  239. package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
  240. package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
  241. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
  242. package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
  243. package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
  244. package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
  245. package/dist/src/components/switch/index.d.ts +4 -0
  246. package/dist/src/components/switch/index.shadow.d.ts +5 -0
  247. package/dist/src/components/switch/mono-switch.d.ts +31 -0
  248. package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
  249. package/dist/src/components/switch/switch-core.d.ts +49 -0
  250. package/dist/src/components/switch/switch-types.d.ts +64 -0
  251. package/dist/src/components/switch/switch-utils.d.ts +12 -0
  252. package/dist/src/components/table/array-source.d.ts +44 -0
  253. package/dist/src/components/table/date-filter-tree.d.ts +93 -0
  254. package/dist/src/components/table/grouping.d.ts +55 -0
  255. package/dist/src/components/table/index.d.ts +33 -0
  256. package/dist/src/components/table/index.shadow.d.ts +47 -0
  257. package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
  258. package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
  259. package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
  260. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
  261. package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
  262. package/dist/src/components/table/mono-table-detail.d.ts +32 -0
  263. package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
  264. package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
  265. package/dist/src/components/table/mono-table-empty.d.ts +35 -0
  266. package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
  267. package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
  268. package/dist/src/components/table/mono-table-error.d.ts +28 -0
  269. package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
  270. package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
  271. package/dist/src/components/table/mono-table-info.d.ts +19 -0
  272. package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
  273. package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
  274. package/dist/src/components/table/mono-table-loading.d.ts +50 -0
  275. package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
  276. package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
  277. package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
  278. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
  279. package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
  280. package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
  281. package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
  282. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
  283. package/dist/src/components/table/mono-table-paging.d.ts +16 -0
  284. package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
  285. package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
  286. package/dist/src/components/table/mono-table-search.d.ts +34 -0
  287. package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
  288. package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
  289. package/dist/src/components/table/mono-table-sort.d.ts +38 -0
  290. package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
  291. package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
  292. package/dist/src/components/table/mono-table-summary.d.ts +24 -0
  293. package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
  294. package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
  295. package/dist/src/components/table/mono-table-th.d.ts +41 -0
  296. package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
  297. package/dist/src/components/table/store-group-source.d.ts +24 -0
  298. package/dist/src/components/table/table-controller-core.d.ts +40 -0
  299. package/dist/src/components/table/table-filter-icons.d.ts +3 -0
  300. package/dist/src/components/table/table-menu-core.d.ts +65 -0
  301. package/dist/src/components/table/table-overlay.d.ts +165 -0
  302. package/dist/src/components/table/table-sort-icons.d.ts +4 -0
  303. package/dist/src/components/table/table-sort-utils.d.ts +20 -0
  304. package/dist/src/components/table/table-types.d.ts +475 -0
  305. package/dist/src/components/tabs/index.d.ts +3 -0
  306. package/dist/src/components/tabs/index.shadow.d.ts +4 -0
  307. package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
  308. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
  309. package/dist/src/components/tabs/tabs-core.d.ts +57 -0
  310. package/dist/src/components/tabs/tabs-types.d.ts +65 -0
  311. package/dist/src/components/tag-input/index.d.ts +4 -0
  312. package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
  313. package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
  314. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
  315. package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
  316. package/dist/src/components/tag-input/tag-input-types.d.ts +394 -0
  317. package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
  318. package/dist/src/components/textarea/index.d.ts +4 -0
  319. package/dist/src/components/textarea/index.shadow.d.ts +5 -0
  320. package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
  321. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
  322. package/dist/src/components/textarea/textarea-core.d.ts +60 -0
  323. package/dist/src/components/textarea/textarea-types.d.ts +131 -0
  324. package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
  325. package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
  326. package/dist/src/components/tooltip/index.d.ts +6 -0
  327. package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
  328. package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
  329. package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
  330. package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
  331. package/dist/src/composables/breakpoints.d.ts +59 -0
  332. package/dist/src/composables/chip-limits.d.ts +48 -0
  333. package/dist/src/composables/chip-strip.d.ts +93 -0
  334. package/dist/src/composables/color.d.ts +103 -0
  335. package/dist/src/composables/css-class.d.ts +27 -0
  336. package/dist/src/composables/css-size.d.ts +40 -0
  337. package/dist/src/composables/data-source-controller.d.ts +84 -0
  338. package/dist/src/composables/element-props.d.ts +46 -0
  339. package/dist/src/composables/field-icons.d.ts +7 -0
  340. package/dist/src/composables/hybird-prop.d.ts +79 -0
  341. package/dist/src/composables/hydration-flush.d.ts +34 -0
  342. package/dist/src/composables/icon.d.ts +17 -0
  343. package/dist/src/composables/layout-var.d.ts +34 -0
  344. package/dist/src/composables/light-slots.d.ts +133 -0
  345. package/dist/src/composables/mdi-glyphs.d.ts +4 -0
  346. package/dist/src/composables/mono-element.d.ts +9 -0
  347. package/dist/src/composables/mono-event.d.ts +55 -0
  348. package/dist/src/composables/mono-pending.d.ts +8 -0
  349. package/dist/src/composables/mono-skeleton.d.ts +193 -0
  350. package/dist/src/composables/mono-ui.d.ts +58 -0
  351. package/dist/src/composables/notifier.d.ts +46 -0
  352. package/dist/src/composables/popup-portal.d.ts +226 -0
  353. package/dist/src/composables/popup-stack.d.ts +70 -0
  354. package/dist/src/composables/rate-limit.d.ts +108 -0
  355. package/dist/src/composables/reactive.d.ts +53 -0
  356. package/dist/src/composables/shadow-css.d.ts +42 -0
  357. package/dist/src/composables/visibility.d.ts +36 -0
  358. package/dist/src/data/theme/index.d.ts +30 -0
  359. package/dist/src/data/theme/presets.d.ts +94 -0
  360. package/dist/src/entries/index.d.ts +2 -0
  361. package/dist/src/entries/index.node.d.ts +42 -0
  362. package/dist/src/entries/search.d.ts +3 -0
  363. package/dist/src/export/detail.d.ts +29 -0
  364. package/dist/src/export/download.d.ts +9 -0
  365. package/dist/src/export/excel/index.d.ts +27 -0
  366. package/dist/src/export/excel/nodes.d.ts +123 -0
  367. package/dist/src/export/expression.d.ts +36 -0
  368. package/dist/src/export/helpers.d.ts +6 -0
  369. package/dist/src/export/index.d.ts +13 -0
  370. package/dist/src/export/markdown.d.ts +52 -0
  371. package/dist/src/export/resolve-data.d.ts +31 -0
  372. package/dist/src/export/sentinel.d.ts +97 -0
  373. package/dist/src/export/sheet-name.d.ts +45 -0
  374. package/dist/src/export/styles.d.ts +33 -0
  375. package/dist/src/export/template.d.ts +10 -0
  376. package/dist/src/export/types.d.ts +259 -0
  377. package/dist/src/import/coerce.d.ts +38 -0
  378. package/dist/src/import/index.d.ts +16 -0
  379. package/dist/src/import/match.d.ts +54 -0
  380. package/dist/src/import/parse.d.ts +15 -0
  381. package/dist/src/import/types.d.ts +153 -0
  382. package/dist/src/nuxt/index.d.ts +94 -0
  383. package/dist/src/search/data-search.d.ts +207 -0
  384. package/dist/src/search/field-path.d.ts +107 -0
  385. package/dist/src/search/filter-eval.d.ts +30 -0
  386. package/dist/src/search/index.d.ts +22 -0
  387. package/dist/src/search/odata-search.d.ts +18 -0
  388. package/dist/src/search/search-expr.d.ts +160 -0
  389. package/dist/src/utils/data-source-apply.d.ts +97 -0
  390. package/dist/src/utils/data-source-options.d.ts +116 -0
  391. package/dist/src/utils/data-source-read.d.ts +85 -0
  392. package/dist/src/utils/data-source-summary.d.ts +55 -0
  393. package/dist/src/utils/normalize-error.d.ts +60 -0
  394. package/dist/src/vite/index.d.ts +48 -0
  395. package/dist/src/vite/mono-client-only.d.ts +35 -0
  396. package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
  397. package/dist/src/vite/shadow-manifest.d.ts +8 -0
  398. package/dist/styles-BIJ31TM4.js +20146 -0
  399. package/dist/tooltip-CysgRgBi.js +760 -0
  400. package/dist/tooltip.d.ts +1 -0
  401. package/dist/tooltip.js +2 -0
  402. package/dist/ui/accordion.d.ts +1 -0
  403. package/dist/ui/accordion.js +466 -0
  404. package/dist/ui/alert.d.ts +1 -0
  405. package/dist/ui/alert.js +221 -0
  406. package/dist/ui/breadcrumb.d.ts +1 -0
  407. package/dist/ui/breadcrumb.js +902 -0
  408. package/dist/ui/button-dropdown.d.ts +1 -0
  409. package/dist/ui/button-dropdown.js +679 -0
  410. package/dist/ui/button.d.ts +1 -0
  411. package/dist/ui/button.js +63 -0
  412. package/dist/ui/card.d.ts +1 -0
  413. package/dist/ui/card.js +511 -0
  414. package/dist/ui/chart.d.ts +1 -0
  415. package/dist/ui/chart.js +808 -0
  416. package/dist/ui/checkbox.d.ts +1 -0
  417. package/dist/ui/checkbox.js +413 -0
  418. package/dist/ui/chip.d.ts +1 -0
  419. package/dist/ui/chip.js +558 -0
  420. package/dist/ui/date.d.ts +1 -0
  421. package/dist/ui/date.js +686 -0
  422. package/dist/ui/drawer.d.ts +1 -0
  423. package/dist/ui/drawer.js +901 -0
  424. package/dist/ui/dropdown-table.d.ts +1 -0
  425. package/dist/ui/dropdown-table.js +1291 -0
  426. package/dist/ui/dropdown.d.ts +1 -0
  427. package/dist/ui/dropdown.js +586 -0
  428. package/dist/ui/file-upload.d.ts +1 -0
  429. package/dist/ui/file-upload.js +688 -0
  430. package/dist/ui/filter.d.ts +1 -0
  431. package/dist/ui/filter.js +400 -0
  432. package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
  433. package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
  434. package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
  435. package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
  436. package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
  437. package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
  438. package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
  439. package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
  440. package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
  441. package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
  442. package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
  443. package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
  444. package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
  445. package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
  446. package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
  447. package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
  448. package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
  449. package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
  450. package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
  451. package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
  452. package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
  453. package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
  454. package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
  455. package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
  456. package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
  457. package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
  458. package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
  459. package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
  460. package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
  461. package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
  462. package/dist/ui/font/geist-mono.css +104 -0
  463. package/dist/ui/font/geist.css +168 -0
  464. package/dist/ui/font/inter.css +232 -0
  465. package/dist/ui/font/poppins.css +104 -0
  466. package/dist/ui/form.d.ts +1 -0
  467. package/dist/ui/form.js +3 -0
  468. package/dist/ui/index.css +21826 -0
  469. package/dist/ui/input.d.ts +1 -0
  470. package/dist/ui/input.js +1176 -0
  471. package/dist/ui/menu.d.ts +1 -0
  472. package/dist/ui/menu.js +1289 -0
  473. package/dist/ui/modal.d.ts +1 -0
  474. package/dist/ui/modal.js +995 -0
  475. package/dist/ui/nav.d.ts +1 -0
  476. package/dist/ui/nav.js +295 -0
  477. package/dist/ui/radio.d.ts +1 -0
  478. package/dist/ui/radio.js +379 -0
  479. package/dist/ui/rich-text-editor.d.ts +1 -0
  480. package/dist/ui/rich-text-editor.js +1338 -0
  481. package/dist/ui/select.d.ts +1 -0
  482. package/dist/ui/select.js +2066 -0
  483. package/dist/ui/shadow/accordion.js +442 -0
  484. package/dist/ui/shadow/alert.js +218 -0
  485. package/dist/ui/shadow/breadcrumb.js +919 -0
  486. package/dist/ui/shadow/button-dropdown.js +696 -0
  487. package/dist/ui/shadow/button.js +63 -0
  488. package/dist/ui/shadow/card.js +524 -0
  489. package/dist/ui/shadow/chart.js +1569 -0
  490. package/dist/ui/shadow/checkbox.js +457 -0
  491. package/dist/ui/shadow/chip.js +559 -0
  492. package/dist/ui/shadow/date.js +712 -0
  493. package/dist/ui/shadow/drawer.js +869 -0
  494. package/dist/ui/shadow/dropdown-table.js +1620 -0
  495. package/dist/ui/shadow/dropdown.js +547 -0
  496. package/dist/ui/shadow/file-upload.js +731 -0
  497. package/dist/ui/shadow/filter.js +402 -0
  498. package/dist/ui/shadow/input.js +1150 -0
  499. package/dist/ui/shadow/menu.js +899 -0
  500. package/dist/ui/shadow/modal.js +1193 -0
  501. package/dist/ui/shadow/nav.js +240 -0
  502. package/dist/ui/shadow/radio.js +408 -0
  503. package/dist/ui/shadow/rich-text-editor.js +1344 -0
  504. package/dist/ui/shadow/select.js +2033 -0
  505. package/dist/ui/shadow/sidebar.js +606 -0
  506. package/dist/ui/shadow/switch.js +428 -0
  507. package/dist/ui/shadow/table.js +4755 -0
  508. package/dist/ui/shadow/tabs.js +372 -0
  509. package/dist/ui/shadow/tag-input.js +2846 -0
  510. package/dist/ui/shadow/textarea.js +816 -0
  511. package/dist/ui/sidebar.d.ts +1 -0
  512. package/dist/ui/sidebar.js +659 -0
  513. package/dist/ui/switch.d.ts +1 -0
  514. package/dist/ui/switch.js +398 -0
  515. package/dist/ui/table.d.ts +1 -0
  516. package/dist/ui/table.js +4654 -0
  517. package/dist/ui/tabs.d.ts +1 -0
  518. package/dist/ui/tabs.js +379 -0
  519. package/dist/ui/tag-input.d.ts +1 -0
  520. package/dist/ui/tag-input.js +2819 -0
  521. package/dist/ui/textarea.d.ts +1 -0
  522. package/dist/ui/textarea.js +819 -0
  523. package/dist/ui/theme/legacy.css +293 -0
  524. package/dist/ui/theme/luma.css +743 -0
  525. package/dist/ui/theme/lyra.css +754 -0
  526. package/dist/ui/theme/maia.css +673 -0
  527. package/dist/ui/theme/mira.css +802 -0
  528. package/dist/ui/theme/nova.css +662 -0
  529. package/dist/ui/theme/one.css +699 -0
  530. package/dist/ui/theme/rhea.css +742 -0
  531. package/dist/ui/theme/sera.css +845 -0
  532. package/dist/ui/theme/tokens.css +261 -0
  533. package/dist/ui/theme/vega.css +467 -0
  534. package/dist/vite-C5iUK7so.js +329 -0
  535. package/dist/vite.d.ts +1 -0
  536. package/dist/vite.js +2 -0
  537. package/dist/vue.d.ts +282 -0
  538. package/package.json +411 -3
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,586 @@
1
+ import { l as monoHostChildNodes } from "../mono-ui-CPV7rrdo.js";
2
+ import { t as customElement } from "../mono-element-B0kP_96P.js";
3
+ import { a as defineHybridPropAliases, o as numberStringConverter, r as booleanStringConverter, t as __decorate } from "../decorate-DEXtNagw.js";
4
+ import { t as dispatchMonoEvent } from "../mono-event-Bi1qP9uN.js";
5
+ import { i as guardHostTextContent, s as placeSlotNode } from "../light-slots-DW1WgfgT.js";
6
+ import { n as applyPopupPlacement, r as computePopupPlacement, t as PopupPortalController } from "../popup-portal-BziRX1yG.js";
7
+ import { n as cssPart, r as defineCssClassAliases, t as applyCssClass } from "../css-class-BRKRzHx-.js";
8
+ import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
9
+ import { property, state } from "lit/decorators.js";
10
+ //#region src/components/dropdown/dropdown-core.ts
11
+ /**
12
+ * `MonoDropdownCore` — all render-mode-agnostic logic for `mono-dropdown`:
13
+ * reactive props, hybrid aliases, host-class management, open/close state +
14
+ * events, trigger listeners, outside-click/escape, and `position: fixed` panel
15
+ * positioning (with containing-block compensation).
16
+ *
17
+ * SSR-safe: every `document`/`window`/layout-measuring path is guarded by
18
+ * `isServer` (lit) so `@lit-labs/ssr` can render it on the server.
19
+ *
20
+ * Leaves to each build: `createRenderRoot()`, the slot strategy + `render()`,
21
+ * and `_activeMainNodes()` (light: captured nodes; shadow: main slot's
22
+ * assigned elements). Panel/queries use `this.renderRoot`, which is `this` for
23
+ * the light build and the shadow root for the shadow build.
24
+ */
25
+ /**
26
+ * The dropdown's PUBLIC custom properties, handed to the popup portal so a
27
+ * relocated panel keeps overrides an ancestor of the host set — a portaled panel
28
+ * is a child of `<body>`, so it inherits none of them, and `getComputedStyle`
29
+ * cannot enumerate custom properties for the portal to copy them blindly.
30
+ *
31
+ * Kept in step with dropdown.css by tests/dropdown-attributes.test.ts.
32
+ */
33
+ var DROPDOWN_STYLE_VARS = [
34
+ "--mono-dropdown-accent",
35
+ "--mono-dropdown-bg",
36
+ "--mono-dropdown-border",
37
+ "--mono-dropdown-danger",
38
+ "--mono-dropdown-font",
39
+ "--mono-dropdown-font-lg",
40
+ "--mono-dropdown-font-md",
41
+ "--mono-dropdown-font-sm",
42
+ "--mono-dropdown-font-xl",
43
+ "--mono-dropdown-font-xs",
44
+ "--mono-dropdown-font-xxl",
45
+ "--mono-dropdown-gap",
46
+ "--mono-dropdown-gap-lg",
47
+ "--mono-dropdown-gap-md",
48
+ "--mono-dropdown-gap-sm",
49
+ "--mono-dropdown-gap-xl",
50
+ "--mono-dropdown-gap-xs",
51
+ "--mono-dropdown-gap-xxl",
52
+ "--mono-dropdown-info",
53
+ "--mono-dropdown-line-height",
54
+ "--mono-dropdown-max-width",
55
+ "--mono-dropdown-max-width-lg",
56
+ "--mono-dropdown-max-width-md",
57
+ "--mono-dropdown-max-width-sm",
58
+ "--mono-dropdown-max-width-xl",
59
+ "--mono-dropdown-max-width-xs",
60
+ "--mono-dropdown-max-width-xxl",
61
+ "--mono-dropdown-min-width",
62
+ "--mono-dropdown-min-width-lg",
63
+ "--mono-dropdown-min-width-md",
64
+ "--mono-dropdown-min-width-sm",
65
+ "--mono-dropdown-min-width-xl",
66
+ "--mono-dropdown-min-width-xs",
67
+ "--mono-dropdown-min-width-xxl",
68
+ "--mono-dropdown-offset",
69
+ "--mono-dropdown-offset-lg",
70
+ "--mono-dropdown-offset-md",
71
+ "--mono-dropdown-offset-sm",
72
+ "--mono-dropdown-offset-xl",
73
+ "--mono-dropdown-offset-xs",
74
+ "--mono-dropdown-offset-xxl",
75
+ "--mono-dropdown-pad-x",
76
+ "--mono-dropdown-pad-x-lg",
77
+ "--mono-dropdown-pad-x-md",
78
+ "--mono-dropdown-pad-x-sm",
79
+ "--mono-dropdown-pad-x-xl",
80
+ "--mono-dropdown-pad-x-xs",
81
+ "--mono-dropdown-pad-x-xxl",
82
+ "--mono-dropdown-pad-y",
83
+ "--mono-dropdown-pad-y-lg",
84
+ "--mono-dropdown-pad-y-md",
85
+ "--mono-dropdown-pad-y-sm",
86
+ "--mono-dropdown-pad-y-xl",
87
+ "--mono-dropdown-pad-y-xs",
88
+ "--mono-dropdown-pad-y-xxl",
89
+ "--mono-dropdown-primary",
90
+ "--mono-dropdown-radius",
91
+ "--mono-dropdown-radius-lg",
92
+ "--mono-dropdown-radius-md",
93
+ "--mono-dropdown-radius-sm",
94
+ "--mono-dropdown-radius-xl",
95
+ "--mono-dropdown-radius-xs",
96
+ "--mono-dropdown-radius-xxl",
97
+ "--mono-dropdown-ring-base",
98
+ "--mono-dropdown-ring-color",
99
+ "--mono-dropdown-ring-width",
100
+ "--mono-dropdown-secondary",
101
+ "--mono-dropdown-shadow",
102
+ "--mono-dropdown-success",
103
+ "--mono-dropdown-surface",
104
+ "--mono-dropdown-text",
105
+ "--mono-dropdown-warning",
106
+ "--mono-dropdown-teal",
107
+ "--mono-dropdown-purple",
108
+ "--mono-dropdown-neutral",
109
+ "--mono-dropdown-dark"
110
+ ];
111
+ var MonoDropdownCore = (superClass) => {
112
+ class MonoDropdownCoreClass extends superClass {
113
+ constructor(...args) {
114
+ super(...args);
115
+ this._popup = new PopupPortalController(this, {
116
+ getPanel: () => this.renderRoot.querySelector(".mono-dropdown-panel"),
117
+ getAnchor: () => this._firstMainElement(),
118
+ getStyleScope: () => this,
119
+ isOpen: () => this.modelValue,
120
+ side: () => this._sideFromPlacement(this.placement),
121
+ align: () => this._alignFromPlacement(this.placement),
122
+ offset: () => this.offset,
123
+ styleVars: () => DROPDOWN_STYLE_VARS,
124
+ flip: () => this.flip,
125
+ shift: () => this.shift,
126
+ onSideResolved: (side) => {
127
+ if (this._resolvedSide !== side) {
128
+ this._resolvedSide = side;
129
+ this._updateHostClasses();
130
+ }
131
+ }
132
+ });
133
+ this.placement = "bottom-start";
134
+ this.trigger = "click";
135
+ this.size = "md";
136
+ this.color = "primary";
137
+ this.modelValue = false;
138
+ this.disabled = false;
139
+ this.flip = true;
140
+ this.shift = true;
141
+ this.offset = 4;
142
+ this.closeOnOutsideClick = true;
143
+ this.closeOnEscape = true;
144
+ this.cssClass = {};
145
+ this.cssClassName = "";
146
+ this._resolvedSide = "bottom";
147
+ this._triggerListenersAttached = false;
148
+ this._attachedTriggerNodes = [];
149
+ this._appliedHostClasses = /* @__PURE__ */ new Set();
150
+ this._viewportBound = false;
151
+ this._viewportFrame = 0;
152
+ this._handleTriggerClick = (event) => {
153
+ if (this.disabled || this.trigger !== "click") return;
154
+ event.stopPropagation();
155
+ this._setOpen(!this.modelValue, "trigger", event);
156
+ };
157
+ this._handleTriggerHoverIn = (event) => {
158
+ if (this.disabled || this.trigger !== "hover" || this.modelValue) return;
159
+ this._setOpen(true, "hover", event);
160
+ };
161
+ this._handleTriggerHoverOut = (event) => {
162
+ if (this.disabled || this.trigger !== "hover" || !this.modelValue) return;
163
+ this._setOpen(false, "hover", event);
164
+ };
165
+ this._handleTriggerKeydown = (event) => {
166
+ if (this.disabled || this.trigger !== "click") return;
167
+ if (event.key === "Enter" || event.key === " ") {
168
+ event.preventDefault();
169
+ this._setOpen(!this.modelValue, "trigger", event);
170
+ }
171
+ };
172
+ this._handleDocumentClick = (event) => {
173
+ if (!this.modelValue || !this.closeOnOutsideClick) return;
174
+ const path = event.composedPath();
175
+ if (path.includes(this) || this._popup.containsInPath(path)) return;
176
+ this._setOpen(false, "outside", event);
177
+ };
178
+ this._handleDocumentKeydown = (event) => {
179
+ if (!this.modelValue || !this.closeOnEscape || event.key !== "Escape") return;
180
+ if (this._popup.ownsNestedInPath(event.composedPath())) return;
181
+ event.preventDefault();
182
+ this._setOpen(false, "escape", event);
183
+ };
184
+ this._handleViewportChange = () => {
185
+ if (!this.modelValue || this._viewportFrame) return;
186
+ this._viewportFrame = requestAnimationFrame(() => {
187
+ this._viewportFrame = 0;
188
+ if (this.modelValue) this._positionPanel();
189
+ });
190
+ };
191
+ defineHybridPropAliases(this, [
192
+ "modelValue",
193
+ "closeOnOutsideClick",
194
+ "closeOnEscape"
195
+ ]);
196
+ defineCssClassAliases(this, (value) => this._setCssClass(value));
197
+ }
198
+ static get observedAttributes() {
199
+ return [
200
+ ...super.observedAttributes ?? [],
201
+ "modelvalue",
202
+ "closeonoutsideclick",
203
+ "closeonescape",
204
+ "css-class",
205
+ "cssclass"
206
+ ];
207
+ }
208
+ attributeChangedCallback(name, oldValue, newValue) {
209
+ super.attributeChangedCallback(name, oldValue, newValue);
210
+ if (oldValue === newValue) return;
211
+ if (name === "modelvalue") this.modelValue = this._toBoolean(newValue);
212
+ else if (name === "closeonoutsideclick") this.closeOnOutsideClick = this._toBoolean(newValue);
213
+ else if (name === "closeonescape") this.closeOnEscape = this._toBoolean(newValue);
214
+ else if (name === "css-class" || name === "cssclass") this._setCssClass(newValue);
215
+ }
216
+ connectedCallback() {
217
+ super.connectedCallback();
218
+ this._resolvedSide = this._sideFromPlacement(this.placement);
219
+ this._updateHostClasses();
220
+ if (isServer) return;
221
+ document.addEventListener("click", this._handleDocumentClick, true);
222
+ document.addEventListener("keydown", this._handleDocumentKeydown);
223
+ if (this.modelValue) this._bindViewport();
224
+ }
225
+ disconnectedCallback() {
226
+ if (!isServer) {
227
+ document.removeEventListener("click", this._handleDocumentClick, true);
228
+ document.removeEventListener("keydown", this._handleDocumentKeydown);
229
+ }
230
+ this._unbindViewport();
231
+ this._detachTriggerListeners();
232
+ super.disconnectedCallback();
233
+ }
234
+ updated(changed) {
235
+ super.updated(changed);
236
+ this._updateHostClasses();
237
+ this._syncTriggerListeners();
238
+ if (this.modelValue) {
239
+ this._bindViewport();
240
+ this._popup.reposition();
241
+ this._positionPanel();
242
+ } else this._unbindViewport();
243
+ }
244
+ _toBoolean(value) {
245
+ if (typeof value === "boolean") return value;
246
+ if (typeof value === "string") {
247
+ const normalized = value.toLowerCase().trim();
248
+ return normalized === "" || normalized === "true";
249
+ }
250
+ return Boolean(value);
251
+ }
252
+ _setCssClass(value) {
253
+ applyCssClass(this, value);
254
+ }
255
+ _cls(base, key) {
256
+ return cssPart(this.cssClass, base, key);
257
+ }
258
+ _sideFromPlacement(p) {
259
+ if (p.startsWith("top")) return "top";
260
+ if (p.startsWith("left")) return "left";
261
+ if (p.startsWith("right")) return "right";
262
+ return "bottom";
263
+ }
264
+ _alignFromPlacement(p) {
265
+ if (p.endsWith("-start")) return "start";
266
+ if (p.endsWith("-end")) return "end";
267
+ return "center";
268
+ }
269
+ /**
270
+ * The Basecoat styling attributes for the ROOT, mirroring the props one for
271
+ * one. `side` and `align` are the RESOLVED pair (upstream splits placement
272
+ * that way, and flip/shift can move the side at runtime) while
273
+ * `mono-placement` keeps the prop itself visible for a consumer's own CSS.
274
+ * A value at its default emits nothing, so `:not([mono-size])` is md.
275
+ */
276
+ _computeRootAttrs() {
277
+ const align = this._alignFromPlacement(this.placement);
278
+ const side = this.modelValue ? this._resolvedSide : this._sideFromPlacement(this.placement);
279
+ return {
280
+ "mono-size": this.size === "md" ? null : this.size,
281
+ "mono-color": this.color === "primary" ? null : this.color,
282
+ "mono-placement": this.placement === "bottom-start" ? null : this.placement,
283
+ "mono-side": side === "bottom" ? null : side,
284
+ "mono-align": align === "start" ? null : align,
285
+ "mono-trigger": this.trigger === "click" ? null : this.trigger,
286
+ "mono-open": this.modelValue ? "" : null,
287
+ "mono-disabled": this.disabled ? "" : null,
288
+ "mono-fixed": ""
289
+ };
290
+ }
291
+ /** Write {@link _computeRootAttrs} onto whichever element carries the root. */
292
+ _applyRootAttrs(root) {
293
+ if (!root) return;
294
+ if (!root.hasAttribute("mono-dropdown")) root.setAttribute("mono-dropdown", "");
295
+ for (const [name, value] of Object.entries(this._computeRootAttrs())) if (value === null) root.removeAttribute(name);
296
+ else if (root.getAttribute(name) !== value) root.setAttribute(name, value);
297
+ }
298
+ _computeHostClasses() {
299
+ return [
300
+ "mono-dropdown",
301
+ this.size,
302
+ this.color,
303
+ this.placement,
304
+ `is-${this._resolvedSide}`,
305
+ "is-fixed",
306
+ this.modelValue ? "open" : null,
307
+ this.disabled ? "disabled" : null,
308
+ this.cssClassName || null,
309
+ this.cssClass?.root || null
310
+ ].filter((c) => Boolean(c));
311
+ }
312
+ /**
313
+ * Apply the computed state classes. The LIGHT build renders into `this`, so
314
+ * the classes go on the host element (imperatively). The SHADOW build
315
+ * overrides this to a no-op and instead renders the classes onto an inner
316
+ * `.mono-dropdown` root in `render()` — the host's `class` is controlled by
317
+ * the framework (Vue) and would otherwise wipe imperatively-added classes
318
+ * (e.g. `open`) on every re-render.
319
+ */
320
+ _updateHostClasses() {
321
+ if (isServer) return;
322
+ this._applyRootAttrs(this);
323
+ const next = new Set(this._computeHostClasses());
324
+ for (const cls of this._appliedHostClasses) if (!next.has(cls)) this.classList.remove(cls);
325
+ for (const cls of next) if (!this._appliedHostClasses.has(cls)) this.classList.add(cls);
326
+ this._appliedHostClasses = next;
327
+ }
328
+ _setOpen(next, source, sourceEvent) {
329
+ if (this.disabled && next) return;
330
+ if (this.modelValue === next) return;
331
+ const oldValue = this.modelValue;
332
+ this.modelValue = next;
333
+ const detail = {
334
+ modelValue: next,
335
+ currentValue: next,
336
+ oldValue,
337
+ value: next,
338
+ source,
339
+ sourceEvent,
340
+ resolvedSide: this._resolvedSide
341
+ };
342
+ dispatchMonoEvent(this, "click", detail, { alias: "toggle" });
343
+ dispatchMonoEvent(this, next ? "open" : "close", detail);
344
+ }
345
+ show(source = "manual") {
346
+ this._setOpen(true, source);
347
+ }
348
+ hide(source = "manual") {
349
+ this._setOpen(false, source);
350
+ }
351
+ toggle(source = "manual") {
352
+ this._setOpen(!this.modelValue, source);
353
+ }
354
+ focus() {
355
+ this._firstMainElement()?.focus();
356
+ }
357
+ blur() {
358
+ this._firstMainElement()?.blur();
359
+ }
360
+ _firstMainElement() {
361
+ for (const node of this._activeMainNodes()) return node;
362
+ return null;
363
+ }
364
+ /**
365
+ * The activator element(s) projected into the `main` slot. Overridden per
366
+ * build (light: captured nodes; shadow: main slot's assignedElements).
367
+ */
368
+ _activeMainNodes() {
369
+ return [];
370
+ }
371
+ _syncTriggerListeners() {
372
+ if (isServer) return;
373
+ const next = this._activeMainNodes();
374
+ if (next.length === this._attachedTriggerNodes.length && next.every((n, i) => n === this._attachedTriggerNodes[i]) && this._triggerListenersAttached) return;
375
+ this._detachTriggerListeners();
376
+ for (const node of next) {
377
+ node.addEventListener("click", this._handleTriggerClick);
378
+ node.addEventListener("keydown", this._handleTriggerKeydown);
379
+ node.addEventListener("mouseenter", this._handleTriggerHoverIn);
380
+ node.addEventListener("mouseleave", this._handleTriggerHoverOut);
381
+ }
382
+ this._attachedTriggerNodes = next;
383
+ this._triggerListenersAttached = next.length > 0;
384
+ }
385
+ _detachTriggerListeners() {
386
+ for (const node of this._attachedTriggerNodes) {
387
+ node.removeEventListener("click", this._handleTriggerClick);
388
+ node.removeEventListener("keydown", this._handleTriggerKeydown);
389
+ node.removeEventListener("mouseenter", this._handleTriggerHoverIn);
390
+ node.removeEventListener("mouseleave", this._handleTriggerHoverOut);
391
+ }
392
+ this._attachedTriggerNodes = [];
393
+ this._triggerListenersAttached = false;
394
+ }
395
+ /**
396
+ * Listen for viewport movement — but ONLY while this dropdown is open.
397
+ *
398
+ * These used to be bound in `connectedCallback`, so every dropdown on the page
399
+ * held a capture-phase `scroll` listener on `window` whether or not it was open,
400
+ * and each one ran a forced layout per scroll event. A non-passive capture
401
+ * listener on `window` also disqualifies the whole page's scrolling from running
402
+ * off the compositor thread; nothing here calls `preventDefault`, so `passive`.
403
+ */
404
+ _bindViewport() {
405
+ if (isServer || this._viewportBound) return;
406
+ window.addEventListener("scroll", this._handleViewportChange, {
407
+ capture: true,
408
+ passive: true
409
+ });
410
+ window.addEventListener("resize", this._handleViewportChange, { passive: true });
411
+ this._viewportBound = true;
412
+ }
413
+ _unbindViewport() {
414
+ if (isServer) return;
415
+ if (this._viewportFrame) {
416
+ cancelAnimationFrame(this._viewportFrame);
417
+ this._viewportFrame = 0;
418
+ }
419
+ if (!this._viewportBound) return;
420
+ window.removeEventListener("scroll", this._handleViewportChange, true);
421
+ window.removeEventListener("resize", this._handleViewportChange);
422
+ this._viewportBound = false;
423
+ }
424
+ /**
425
+ * Place the panel against its trigger.
426
+ *
427
+ * SHADOW build in practice: the light build's panel is relocated into a body
428
+ * portal and `PopupPortalController` positions it there (from its
429
+ * `hostUpdated`, and again from `updated()` once the activator is placed). Both
430
+ * paths therefore run the SAME shared math — main-axis flip, cross-axis align
431
+ * flip, shift, and painted-extent measurement. This method used to carry its
432
+ * own copy of that algorithm, which is precisely how it came to be missing
433
+ * all of the above; `dropdown-table-core` already delegates the same way.
434
+ */
435
+ _positionPanel() {
436
+ if (isServer) return;
437
+ const panel = this.renderRoot.querySelector(".mono-dropdown-panel");
438
+ if (!panel) return;
439
+ const main = this._firstMainElement();
440
+ if (!main) {
441
+ panel.style.top = "";
442
+ panel.style.left = "";
443
+ panel.style.right = "";
444
+ panel.style.bottom = "";
445
+ return;
446
+ }
447
+ const placement = computePopupPlacement(main, panel, {
448
+ side: this._sideFromPlacement(this.placement),
449
+ align: this._alignFromPlacement(this.placement),
450
+ offset: this.offset,
451
+ flip: this.flip,
452
+ shift: this.shift
453
+ });
454
+ applyPopupPlacement(panel, placement);
455
+ if (this._resolvedSide !== placement.side) {
456
+ this._resolvedSide = placement.side;
457
+ this._updateHostClasses();
458
+ }
459
+ }
460
+ }
461
+ __decorate([property({ type: String })], MonoDropdownCoreClass.prototype, "placement", void 0);
462
+ __decorate([property({ type: String })], MonoDropdownCoreClass.prototype, "trigger", void 0);
463
+ __decorate([property({ type: String })], MonoDropdownCoreClass.prototype, "size", void 0);
464
+ __decorate([property({ type: String })], MonoDropdownCoreClass.prototype, "color", void 0);
465
+ __decorate([property({
466
+ attribute: "model-value",
467
+ reflect: true,
468
+ converter: booleanStringConverter
469
+ })], MonoDropdownCoreClass.prototype, "modelValue", void 0);
470
+ __decorate([property({
471
+ reflect: true,
472
+ converter: booleanStringConverter
473
+ })], MonoDropdownCoreClass.prototype, "disabled", void 0);
474
+ __decorate([property({ converter: booleanStringConverter })], MonoDropdownCoreClass.prototype, "flip", void 0);
475
+ __decorate([property({ converter: booleanStringConverter })], MonoDropdownCoreClass.prototype, "shift", void 0);
476
+ __decorate([property({ converter: numberStringConverter })], MonoDropdownCoreClass.prototype, "offset", void 0);
477
+ __decorate([property({
478
+ attribute: "close-on-outside-click",
479
+ converter: booleanStringConverter
480
+ })], MonoDropdownCoreClass.prototype, "closeOnOutsideClick", void 0);
481
+ __decorate([property({
482
+ attribute: "close-on-escape",
483
+ converter: booleanStringConverter
484
+ })], MonoDropdownCoreClass.prototype, "closeOnEscape", void 0);
485
+ __decorate([property({ attribute: false })], MonoDropdownCoreClass.prototype, "cssClass", void 0);
486
+ __decorate([property({ attribute: false })], MonoDropdownCoreClass.prototype, "cssClassName", void 0);
487
+ __decorate([state()], MonoDropdownCoreClass.prototype, "_resolvedSide", void 0);
488
+ return MonoDropdownCoreClass;
489
+ };
490
+ //#endregion
491
+ //#region src/components/dropdown/dropdown.css?raw
492
+ var dropdown_default = "/* =========================================================================\r\n mono-dropdown — a port of Basecoat's `.popover` + `[data-popover]`\r\n (basecoat-css@1.0.2, vega style).\r\n\r\n Styled by ATTRIBUTE, like Basecoat — and the attributes mirror the element's\r\n props one for one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-dropdown size=\"lg\" color=\"success\" placement=\"bottom-start\">\r\n <div mono-dropdown mono-size=\"lg\" mono-color=\"success\"\r\n mono-placement=\"bottom-start\" mono-side=\"bottom\" mono-align=\"start\">\r\n <span mono-activator><button>Click me</button></span>\r\n <div mono-panel role=\"dialog\" aria-hidden=\"false\">\r\n <div mono-body>Any HTML goes here.</div>\r\n </div>\r\n </div>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-color])` = primary, no `mono-side` = bottom, no `mono-align` =\r\n start). The element writes these on its ROOT — the host in the light build,\r\n an inner root `<div>` in the shadow one — plus the states `mono-open`,\r\n `mono-disabled` and `mono-fixed` (set once the element takes over positioning\r\n and writes inline top/left). The old classes (`.mono-dropdown.md.primary.open`)\r\n are still emitted as inert hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-dropdown] ≡ .popover (relative inline-flex) — DEVIATION:\r\n inline-BLOCK, because the activator wrapper is\r\n `display: contents` and must not become a flex item\r\n [mono-activator] ≡ EXTENSION (upstream's trigger is a sibling <button>;\r\n ours wraps a slotted one and stays out of layout)\r\n [mono-panel] ≡ [data-popover] (absolute z-50 min-w-full w-max\r\n overflow-x-hidden overflow-y-auto visible opacity-100\r\n scale-100 transition-all outline-hidden, and\r\n bg-popover text-popover-foreground ring-1\r\n ring-foreground/10 flex flex-col gap-4 rounded-md\r\n p-4 text-sm shadow-md duration-100)\r\n [mono-panel][aria-hidden=true] ≡ [data-popover][aria-hidden='true'] (invisible\r\n opacity-0 scale-95 + a 2-unit translate away from\r\n the side it opens from)\r\n [mono-side=\"…\"] ≡ [data-popover][data-side='…'] (mt-1 top-full,\r\n mb-1 bottom-full, me-1 end-full, ms-1 start-full)\r\n — DEVIATION: the 1-unit margin is\r\n `--mono-dropdown-offset`, a prop (`offset`)\r\n [mono-align=\"…\"] ≡ [data-popover][data-align='…'] (start-0 / end-0 /\r\n start-1/2 -translate-x-1/2, and the top/bottom pair\r\n for the two side placements)\r\n [mono-body] ≡ EXTENSION (the panel's width floor, see below)\r\n [mono-size=\"…\"] ≡ EXTENSION (upstream ships one popover size)\r\n [mono-color=\"…\"] ≡ EXTENSION (the role tints the ring)\r\n [mono-disabled] ≡ .btn disabled:opacity-50 — DEVIATION: 0.55, the\r\n pre-port value, because the activator is a\r\n consumer's own control and dimming it twice reads\r\n as broken\r\n\r\n THE PANEL IS PORTALED. While open, the light build moves [mono-panel] into a\r\n body portal; `composables/popup-portal` mirrors the root's class AND its\r\n `mono-*` attributes onto that portal, so `[mono-dropdown] > [mono-panel]`\r\n keeps matching there. Every panel rule is written as a CHILD of the root for\r\n exactly that reason — and because `>` also stops these rules reaching a\r\n `[mono-body]` that belongs to a card slotted inside the panel.\r\n\r\n `[mono-dropdown]` IS ALSO A PART NAME: select, tag-input, date and\r\n dropdown-table all call their popup panel `[mono-dropdown]`, scoped\r\n `[mono-<field>] > [mono-dropdown]` = (0,2,0). This root rule is (0,1,0), so it\r\n loses everywhere they set a property — and it deliberately sets NO paint (no\r\n colour, no background), only layout and custom properties, so nothing it does\r\n set can reach a field's panel visibly. Same contract as chip's root.\r\n\r\n Specificity contract (same as the pre-port class sheet): a part's RESTING rule\r\n is exactly one attribute strong — `:where([mono-dropdown]) > [mono-panel]` =\r\n (0,1,0) — so a utility class handed in through `cssClass` wins by source\r\n order, while the prop and state rules stay heavier.\r\n\r\n FLAVORS set `--mono-dropdown-{radius,ring-color,ring-width,shadow,gap,\r\n padding-<size>,font-<size>,min-width-<size>,max-width-<size>,offset-<size>}`;\r\n every fallback here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \"popover\"`).\r\n ========================================================================= */\r\n\r\nmono-dropdown {\r\n display: inline-block;\r\n}\r\n\r\n/* =========================================\r\n Root — layout and the palette. NOTHING here paints (see the header).\r\n ========================================= */\r\n\r\n[mono-dropdown] {\r\n /* ── the six roles, each a public knob over a Basecoat token ───────────── */\r\n --_mono-dropdown-primary: var(--mono-dropdown-primary, var(--primary));\r\n --_mono-dropdown-secondary: var(--mono-dropdown-secondary, var(--secondary-foreground));\r\n --_mono-dropdown-success: var(--mono-dropdown-success, var(--success));\r\n --_mono-dropdown-danger: var(--mono-dropdown-danger, var(--destructive));\r\n --_mono-dropdown-warning: var(--mono-dropdown-warning, var(--warning));\r\n --_mono-dropdown-info: var(--mono-dropdown-info, var(--info));\r\n --_mono-dropdown-teal: var(--mono-dropdown-teal, var(--teal));\r\n --_mono-dropdown-purple: var(--mono-dropdown-purple, var(--purple));\r\n --_mono-dropdown-neutral: var(--mono-dropdown-neutral, var(--neutral));\r\n --_mono-dropdown-dark: var(--mono-dropdown-dark, var(--dark));\r\n /* the colour in play — `primary` unless a [mono-color] rule re-points it */\r\n --_mono-dropdown-accent: var(--mono-dropdown-accent, var(--_mono-dropdown-accent-preset, var(--_mono-dropdown-primary)));\r\n\r\n --_mono-dropdown-bg: var(--mono-dropdown-bg, var(--mono-dropdown-surface, var(--popover)));\r\n --_mono-dropdown-text: var(--mono-dropdown-text, var(--popover-foreground));\r\n /* `ring-1 ring-foreground/10`, with the role mixed in so `color` is visible on\r\n an otherwise neutral surface (EXTENSION — upstream's popover has no colour) */\r\n --_mono-dropdown-ring-width: var(--mono-dropdown-ring-width, var(--mono-border-width));\r\n /* the neutral half of the ring is its own knob: a flavor that wants\r\n `ring-foreground/5` sets THAT, and the role stays mixed in on top */\r\n --_mono-dropdown-ring-base: var(--mono-dropdown-ring-base, color-mix(in oklab, var(--foreground) 10%, transparent));\r\n --_mono-dropdown-ring-color: var(--mono-dropdown-ring-color, var(--mono-dropdown-border,\r\n color-mix(in oklab, var(--_mono-dropdown-accent) 18%, var(--_mono-dropdown-ring-base))));\r\n --_mono-dropdown-shadow: var(--mono-dropdown-shadow, var(--mono-shadow-md));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ────────────────────\r\n basecoat@1.0.2 styles/vega.css [data-popover] — gap-4 rounded-md p-4 text-sm */\r\n --_mono-dropdown-radius: var(--mono-dropdown-radius, var(--_mono-dropdown-radius-preset, var(--mono-dropdown-radius-md, var(--mono-radius-md))));\r\n --_mono-dropdown-pad-x: var(--mono-dropdown-pad-x, var(--_mono-dropdown-pad-x-preset, var(--mono-dropdown-pad-x-md, calc(var(--mono-spacing) * 4))));\r\n --_mono-dropdown-pad-y: var(--mono-dropdown-pad-y, var(--_mono-dropdown-pad-y-preset, var(--mono-dropdown-pad-y-md, calc(var(--mono-spacing) * 4))));\r\n --_mono-dropdown-gap: var(--mono-dropdown-gap, var(--_mono-dropdown-gap-preset, var(--mono-dropdown-gap-md, calc(var(--mono-spacing) * 4))));\r\n --_mono-dropdown-font: var(--mono-dropdown-font, var(--_mono-dropdown-font-preset, var(--mono-dropdown-font-md, var(--mono-text-sm))));\r\n --_mono-dropdown-line-height: var(--mono-dropdown-line-height, var(--_mono-dropdown-line-height-preset, var(--mono-text-sm--lh)));\r\n --_mono-dropdown-min-width: var(--mono-dropdown-min-width, var(--_mono-dropdown-min-width-preset, var(--mono-dropdown-min-width-md, 200px)));\r\n --_mono-dropdown-max-width: var(--mono-dropdown-max-width, var(--_mono-dropdown-max-width-preset, var(--mono-dropdown-max-width-md, 280px)));\r\n /* `mt-1` and friends — a prop here (`offset`), so it is one knob per size */\r\n --_mono-dropdown-offset: var(--mono-dropdown-offset, var(--_mono-dropdown-offset-preset, var(--mono-dropdown-offset-md, var(--mono-spacing))));\r\n\r\n /* basecoat@1.0.2 components/popover.css .popover — relative inline-flex */\r\n position: relative;\r\n display: inline-block;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n}\r\n\r\n[mono-dropdown] *,\r\n[mono-dropdown] *::before,\r\n[mono-dropdown] *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: Basecoat ships ONE popover; md is its `[data-popover]`\r\n ========================================= */\r\n\r\n[mono-dropdown][mono-size=\"xs\"] {\r\n --_mono-dropdown-radius-preset: var(--mono-dropdown-radius-xs, var(--mono-radius-sm));\r\n --_mono-dropdown-pad-x-preset: var(--mono-dropdown-pad-x-xs, calc(var(--mono-spacing) * 2));\r\n --_mono-dropdown-pad-y-preset: var(--mono-dropdown-pad-y-xs, calc(var(--mono-spacing) * 2));\r\n --_mono-dropdown-gap-preset: var(--mono-dropdown-gap-xs, calc(var(--mono-spacing) * 1.5));\r\n --_mono-dropdown-font-preset: var(--mono-dropdown-font-xs, var(--mono-text-xs));\r\n --_mono-dropdown-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-dropdown-min-width-preset: var(--mono-dropdown-min-width-xs, 150px);\r\n --_mono-dropdown-max-width-preset: var(--mono-dropdown-max-width-xs, 220px);\r\n --_mono-dropdown-offset-preset: var(--mono-dropdown-offset-xs, calc(var(--mono-spacing) * 0.75));\r\n}\r\n\r\n[mono-dropdown][mono-size=\"sm\"] {\r\n --_mono-dropdown-radius-preset: var(--mono-dropdown-radius-sm, var(--mono-radius-md));\r\n --_mono-dropdown-pad-x-preset: var(--mono-dropdown-pad-x-sm, calc(var(--mono-spacing) * 3));\r\n --_mono-dropdown-pad-y-preset: var(--mono-dropdown-pad-y-sm, calc(var(--mono-spacing) * 3));\r\n --_mono-dropdown-gap-preset: var(--mono-dropdown-gap-sm, calc(var(--mono-spacing) * 2.5));\r\n --_mono-dropdown-font-preset: var(--mono-dropdown-font-sm, var(--mono-text-xs));\r\n --_mono-dropdown-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-dropdown-min-width-preset: var(--mono-dropdown-min-width-sm, 170px);\r\n --_mono-dropdown-max-width-preset: var(--mono-dropdown-max-width-sm, 240px);\r\n --_mono-dropdown-offset-preset: var(--mono-dropdown-offset-sm, var(--mono-spacing));\r\n}\r\n\r\n[mono-dropdown][mono-size=\"lg\"] {\r\n --_mono-dropdown-radius-preset: var(--mono-dropdown-radius-lg, var(--mono-radius-lg));\r\n --_mono-dropdown-pad-x-preset: var(--mono-dropdown-pad-x-lg, calc(var(--mono-spacing) * 5));\r\n --_mono-dropdown-pad-y-preset: var(--mono-dropdown-pad-y-lg, calc(var(--mono-spacing) * 5));\r\n --_mono-dropdown-gap-preset: var(--mono-dropdown-gap-lg, calc(var(--mono-spacing) * 5));\r\n --_mono-dropdown-font-preset: var(--mono-dropdown-font-lg, var(--mono-text-sm));\r\n --_mono-dropdown-line-height-preset: var(--mono-text-sm--lh);\r\n --_mono-dropdown-min-width-preset: var(--mono-dropdown-min-width-lg, 240px);\r\n --_mono-dropdown-max-width-preset: var(--mono-dropdown-max-width-lg, 340px);\r\n --_mono-dropdown-offset-preset: var(--mono-dropdown-offset-lg, calc(var(--mono-spacing) * 1.5));\r\n}\r\n\r\n[mono-dropdown][mono-size=\"xl\"] {\r\n --_mono-dropdown-radius-preset: var(--mono-dropdown-radius-xl, var(--mono-radius-xl));\r\n --_mono-dropdown-pad-x-preset: var(--mono-dropdown-pad-x-xl, calc(var(--mono-spacing) * 6));\r\n --_mono-dropdown-pad-y-preset: var(--mono-dropdown-pad-y-xl, calc(var(--mono-spacing) * 6));\r\n --_mono-dropdown-gap-preset: var(--mono-dropdown-gap-xl, calc(var(--mono-spacing) * 5));\r\n --_mono-dropdown-font-preset: var(--mono-dropdown-font-xl, var(--mono-text-base));\r\n --_mono-dropdown-line-height-preset: var(--mono-text-base--lh);\r\n --_mono-dropdown-min-width-preset: var(--mono-dropdown-min-width-xl, 280px);\r\n --_mono-dropdown-max-width-preset: var(--mono-dropdown-max-width-xl, 420px);\r\n --_mono-dropdown-offset-preset: var(--mono-dropdown-offset-xl, calc(var(--mono-spacing) * 2));\r\n}\r\n\r\n[mono-dropdown][mono-size=\"xxl\"] {\r\n --_mono-dropdown-radius-preset: var(--mono-dropdown-radius-xxl, var(--mono-radius-xl));\r\n --_mono-dropdown-pad-x-preset: var(--mono-dropdown-pad-x-xxl, calc(var(--mono-spacing) * 7));\r\n --_mono-dropdown-pad-y-preset: var(--mono-dropdown-pad-y-xxl, calc(var(--mono-spacing) * 7));\r\n --_mono-dropdown-gap-preset: var(--mono-dropdown-gap-xxl, calc(var(--mono-spacing) * 6));\r\n --_mono-dropdown-font-preset: var(--mono-dropdown-font-xxl, var(--mono-text-lg));\r\n --_mono-dropdown-line-height-preset: var(--mono-text-lg--lh);\r\n --_mono-dropdown-min-width-preset: var(--mono-dropdown-min-width-xxl, 320px);\r\n --_mono-dropdown-max-width-preset: var(--mono-dropdown-max-width-xxl, 480px);\r\n --_mono-dropdown-offset-preset: var(--mono-dropdown-offset-xxl, calc(var(--mono-spacing) * 2.5));\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION: the role tints the panel's ring\r\n ========================================= */\r\n\r\n[mono-dropdown][mono-color=\"primary\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-primary); }\r\n[mono-dropdown][mono-color=\"secondary\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-secondary); }\r\n[mono-dropdown][mono-color=\"success\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-success); }\r\n[mono-dropdown][mono-color=\"danger\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-danger); }\r\n[mono-dropdown][mono-color=\"warning\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-warning); }\r\n[mono-dropdown][mono-color=\"info\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-info); }\r\n[mono-dropdown][mono-color=\"teal\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-teal); }\r\n[mono-dropdown][mono-color=\"purple\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-purple); }\r\n[mono-dropdown][mono-color=\"neutral\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-neutral); }\r\n[mono-dropdown][mono-color=\"dark\"] { --_mono-dropdown-accent-preset: var(--_mono-dropdown-dark); }\r\n\r\n/* =========================================\r\n Activator — EXTENSION: a wrapper that stays out of layout\r\n ========================================= */\r\n\r\n:where([mono-dropdown]) > [mono-activator] {\r\n display: contents;\r\n}\r\n\r\n/* The activator is the consumer's own control, so it is dimmed once and gently:\r\n 0.55 is the pre-port value, kept so a disabled dropdown reads the same. */\r\n[mono-dropdown][mono-disabled] > [mono-activator] {\r\n opacity: 0.55;\r\n cursor: not-allowed;\r\n}\r\n\r\n/* =========================================\r\n Panel — `[data-popover]`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] — absolute z-50 min-w-full\r\n w-max overflow-x-hidden overflow-y-auto visible opacity-100 scale-100\r\n transition-all outline-hidden\r\n — DEVIATIONS: `min-w-full` is the BODY's floor here (see [mono-body]) so a\r\n body that cannot shrink sizes the panel instead of spilling out of it, and the\r\n z-index is the shared popup stack's `--mono-popup-z` rather than a flat z-50. */\r\n:where([mono-dropdown]) > [mono-panel] {\r\n position: absolute;\r\n z-index: var(--mono-popup-z, 200);\r\n width: max-content;\r\n min-width: min-content;\r\n max-width: var(--_mono-dropdown-max-width);\r\n max-height: var(--mono-popup-avail-h, none);\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n visibility: visible;\r\n opacity: 1;\r\n scale: 1;\r\n outline: none;\r\n transition:\r\n opacity var(--mono-duration) var(--mono-ease),\r\n scale var(--mono-duration) var(--mono-ease),\r\n translate var(--mono-duration) var(--mono-ease),\r\n visibility var(--mono-duration) var(--mono-ease);\r\n\r\n /* basecoat@1.0.2 styles/vega.css [data-popover] — bg-popover\r\n text-popover-foreground ring-foreground/10 flex flex-col gap-4 rounded-md p-4\r\n text-sm shadow-md ring-1 duration-100 */\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--_mono-dropdown-gap);\r\n padding: var(--_mono-dropdown-pad-y) var(--_mono-dropdown-pad-x);\r\n border-radius: var(--_mono-dropdown-radius);\r\n background: var(--_mono-dropdown-bg);\r\n color: var(--_mono-dropdown-text);\r\n font-size: var(--_mono-dropdown-font);\r\n line-height: var(--_mono-dropdown-line-height);\r\n box-shadow:\r\n 0 0 0 var(--_mono-dropdown-ring-width) var(--_mono-dropdown-ring-color),\r\n var(--_mono-dropdown-shadow);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[aria-hidden='true']\r\n — invisible opacity-0 scale-95, and a 2-unit translate away from the side it\r\n opens from. The element writes `aria-hidden` on the panel already, so the\r\n closed state needs no class of its own. */\r\n[mono-dropdown] > [mono-panel][aria-hidden=\"true\"] {\r\n visibility: hidden;\r\n opacity: 0;\r\n scale: 0.95;\r\n pointer-events: none;\r\n}\r\n\r\n[mono-dropdown][mono-side=\"top\"] > [mono-panel][aria-hidden=\"true\"] {\r\n translate: 0 calc(var(--mono-spacing) * 2);\r\n}\r\n\r\n[mono-dropdown]:not([mono-side]) > [mono-panel][aria-hidden=\"true\"],\r\n[mono-dropdown][mono-side=\"bottom\"] > [mono-panel][aria-hidden=\"true\"] {\r\n translate: 0 calc(var(--mono-spacing) * -2);\r\n}\r\n\r\n[mono-dropdown][mono-side=\"left\"] > [mono-panel][aria-hidden=\"true\"] {\r\n translate: calc(var(--mono-spacing) * 2) 0;\r\n}\r\n\r\n[mono-dropdown][mono-side=\"right\"] > [mono-panel][aria-hidden=\"true\"] {\r\n translate: calc(var(--mono-spacing) * -2) 0;\r\n}\r\n\r\n/* Once the element takes over, it positions the panel in the viewport and writes\r\n inline top/left — so the static placement rules below must not fight it. */\r\n[mono-dropdown][mono-fixed] > [mono-panel] {\r\n position: fixed;\r\n}\r\n\r\n/* =========================================\r\n Static placement — `[data-side]` / `[data-align]`, verbatim\r\n -----------------------------------------------------------------------------\r\n These are what hand-written markup (and SSR, before the element hydrates)\r\n positions with. The element overrides them with inline top/left once it has\r\n measured, which is why every rule here uses only the four edges.\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &:not([data-side]), &[data-side='bottom']\r\n — mt-1 top-full */\r\n[mono-dropdown]:not([mono-side]):not([mono-fixed]) > [mono-panel],\r\n[mono-dropdown][mono-side=\"bottom\"]:not([mono-fixed]) > [mono-panel] {\r\n top: 100%;\r\n margin-top: var(--_mono-dropdown-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='top'] — mb-1 bottom-full */\r\n[mono-dropdown][mono-side=\"top\"]:not([mono-fixed]) > [mono-panel] {\r\n bottom: 100%;\r\n margin-bottom: var(--_mono-dropdown-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='left'] — me-1 end-full */\r\n[mono-dropdown][mono-side=\"left\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-end: 100%;\r\n margin-inline-end: var(--_mono-dropdown-offset);\r\n}\r\n\r\n/* basecoat@1.0.2 components/popover.css [data-popover] >> &[data-side='right'] — ms-1 start-full */\r\n[mono-dropdown][mono-side=\"right\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 100%;\r\n margin-inline-start: var(--_mono-dropdown-offset);\r\n}\r\n\r\n/* The top/bottom pair aligns on the inline axis: start-0 / end-0 / start-1/2 -translate-x-1/2 */\r\n[mono-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"]):is(:not([mono-align]), [mono-align=\"start\"]):not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 0;\r\n}\r\n\r\n[mono-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"])[mono-align=\"end\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-end: 0;\r\n}\r\n\r\n[mono-dropdown]:is(:not([mono-side]), [mono-side=\"top\"], [mono-side=\"bottom\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel] {\r\n inset-inline-start: 50%;\r\n translate: -50% 0;\r\n}\r\n\r\n/* …and the left/right pair on the block axis: top-0 / bottom-0 / top-1/2 -translate-y-1/2 */\r\n[mono-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"]):is(:not([mono-align]), [mono-align=\"start\"]):not([mono-fixed]) > [mono-panel] {\r\n top: 0;\r\n}\r\n\r\n[mono-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"])[mono-align=\"end\"]:not([mono-fixed]) > [mono-panel] {\r\n bottom: 0;\r\n}\r\n\r\n[mono-dropdown]:is([mono-side=\"left\"], [mono-side=\"right\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel] {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n\r\n/* A centred panel keeps its centring translate while closed, and adds the\r\n directional one — `translate` is a single property, so both go in one value. */\r\n[mono-dropdown]:is(:not([mono-side]), [mono-side=\"bottom\"])[mono-align=\"center\"]:not([mono-fixed]) > [mono-panel][aria-hidden=\"true\"] {\r\n translate: -50% calc(var(--mono-spacing) * -2);\r\n}\r\n\r\n[mono-dropdown][mono-side=\"top\"][mono-align=\"center\"]:not([mono-fixed]) > [mono-panel][aria-hidden=\"true\"] {\r\n translate: -50% calc(var(--mono-spacing) * 2);\r\n}\r\n\r\n[mono-dropdown][mono-side=\"left\"][mono-align=\"center\"]:not([mono-fixed]) > [mono-panel][aria-hidden=\"true\"] {\r\n translate: calc(var(--mono-spacing) * 2) -50%;\r\n}\r\n\r\n[mono-dropdown][mono-side=\"right\"][mono-align=\"center\"]:not([mono-fixed]) > [mono-panel][aria-hidden=\"true\"] {\r\n translate: calc(var(--mono-spacing) * -2) -50%;\r\n}\r\n\r\n/* =========================================\r\n Body — EXTENSION: the panel's width floor\r\n ========================================= */\r\n\r\n/* The floor lives HERE, not on the panel, so it reaches the panel as a\r\n min-content contribution rather than as a competing `min-width` — which is\r\n what lets slotted content that cannot shrink (a body with its own width) size\r\n the panel instead of spilling out of it. Only the padding is subtracted\r\n so the panel's border box lands on exactly --_mono-dropdown-min-width.\r\n Only the padding is subtracted: the edge is Basecoat's `ring-1`, a\r\n box-shadow, which takes no layout space (subtracting it left every panel 2px\r\n under its preset). */\r\n:where([mono-dropdown]) > [mono-panel] > [mono-body] {\r\n min-width: calc(var(--_mono-dropdown-min-width) - 2 * var(--_mono-dropdown-pad-x));\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n :where([mono-dropdown]) > [mono-panel] {\r\n transition: none;\r\n }\r\n}\r\n";
493
+ //#endregion
494
+ //#region src/components/dropdown/mono-dropdown.ts
495
+ var MonoDropdown = class MonoDropdown extends MonoDropdownCore(LitElement) {
496
+ constructor(..._args) {
497
+ super(..._args);
498
+ this._hasBodySlotState = false;
499
+ this._slotsCaptured = false;
500
+ this._slotMain = [];
501
+ this._slotBody = [];
502
+ }
503
+ static {
504
+ this.styles = [unsafeCSS(dropdown_default)];
505
+ }
506
+ createRenderRoot() {
507
+ return this;
508
+ }
509
+ connectedCallback() {
510
+ super.connectedCallback();
511
+ this._captureSlots();
512
+ if (this.isConnected) this.performUpdate();
513
+ }
514
+ updated(changed) {
515
+ this._placeSlot("main", this._slotMain);
516
+ this._placeSlot("body", this._slotBody);
517
+ super.updated(changed);
518
+ }
519
+ _activeMainNodes() {
520
+ return this._slotMain.filter((n) => n instanceof HTMLElement);
521
+ }
522
+ _captureSlots() {
523
+ if (this._slotsCaptured) return;
524
+ this._slotsCaptured = true;
525
+ const captured = monoHostChildNodes(this);
526
+ const capturedSlotNodes = /* @__PURE__ */ new Set();
527
+ let unslottedSeen = false;
528
+ for (const node of captured) {
529
+ if (!(node instanceof Element)) {
530
+ if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()) unslottedSeen = true;
531
+ continue;
532
+ }
533
+ const slotName = node.getAttribute("slot");
534
+ if (slotName === "main") {
535
+ node.removeAttribute("slot");
536
+ this._slotMain.push(node);
537
+ capturedSlotNodes.add(node);
538
+ continue;
539
+ }
540
+ if (slotName === "body" || slotName === null) {
541
+ if (slotName === "body") node.removeAttribute("slot");
542
+ this._slotBody.push(node);
543
+ capturedSlotNodes.add(node);
544
+ unslottedSeen = true;
545
+ continue;
546
+ }
547
+ }
548
+ this._hasBodySlotState = unslottedSeen && this._slotBody.length > 0;
549
+ for (const node of capturedSlotNodes) if (node.parentNode === this) this.removeChild(node);
550
+ guardHostTextContent(this, new Map([["main", this._slotMain], ["body", this._slotBody]]), {
551
+ fallback: "body",
552
+ onWrite: () => {
553
+ this._hasBodySlotState = this._slotBody.length > 0;
554
+ this.requestUpdate();
555
+ }
556
+ });
557
+ }
558
+ _placeSlot(name, nodes) {
559
+ if (!nodes.length) return;
560
+ const sel = `[data-mono-slot="${name}"]`;
561
+ const target = this.querySelector(sel) ?? this._popup.panelRoot.querySelector(sel);
562
+ if (!target) return;
563
+ for (const node of nodes) placeSlotNode(target, node);
564
+ }
565
+ _renderBody() {
566
+ if (!this._hasBodySlotState) return nothing;
567
+ return html`<div class=${this._cls("mono-dropdown-body", "body")} mono-body data-mono-slot="body"></div>`;
568
+ }
569
+ render() {
570
+ return html`
571
+ <span class=${this._cls("mono-dropdown-main", "main")} mono-activator data-mono-slot="main"></span>
572
+ <div
573
+ class=${this._cls("mono-dropdown-panel", "panel")}
574
+ mono-panel
575
+ role="dialog"
576
+ aria-hidden=${this.modelValue ? "false" : "true"}
577
+ >
578
+ ${this._renderBody()}
579
+ </div>
580
+ `;
581
+ }
582
+ };
583
+ __decorate([state()], MonoDropdown.prototype, "_hasBodySlotState", void 0);
584
+ MonoDropdown = __decorate([customElement("mono-dropdown")], MonoDropdown);
585
+ //#endregion
586
+ export { MonoDropdown };
@@ -0,0 +1 @@
1
+ export {}