optikos 0.4.0 → 0.5.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 (221) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/build.js +2 -0
  3. package/dist/build.js.map +7 -0
  4. package/dist/chunk-2CVMT3IW.js +3 -0
  5. package/dist/chunk-2CVMT3IW.js.map +7 -0
  6. package/dist/{chunk-JSEI44A7.js → chunk-2I4Y7I7C.js} +2 -2
  7. package/dist/{chunk-U5L76VVB.js → chunk-2I7HDIOU.js} +2 -2
  8. package/dist/{chunk-FCJI2JF7.js → chunk-34KVSA2V.js} +2 -2
  9. package/dist/{chunk-NQV4THNE.js → chunk-37PYJAA2.js} +2 -2
  10. package/dist/{chunk-JJLOUMCJ.js → chunk-3OA3P37P.js} +2 -2
  11. package/dist/chunk-5G5PHOZJ.js +2 -0
  12. package/dist/chunk-5G5PHOZJ.js.map +7 -0
  13. package/dist/{chunk-S2CMWKVB.js → chunk-5GCTM37D.js} +2 -2
  14. package/dist/chunk-632LUU52.js +2 -0
  15. package/dist/chunk-632LUU52.js.map +7 -0
  16. package/dist/{chunk-RG6SHPHF.js → chunk-6NP4AEV4.js} +2 -2
  17. package/dist/{chunk-6LJK4QWF.js → chunk-6PPRYSLN.js} +2 -2
  18. package/dist/{chunk-NNR2FNHG.js → chunk-6TZJO2G2.js} +2 -2
  19. package/dist/{chunk-DWTDNKXX.js → chunk-A36JFIA3.js} +2 -2
  20. package/dist/{chunk-CFGCB37K.js → chunk-ADHKL2GM.js} +2 -2
  21. package/dist/{chunk-CMV3F6HR.js → chunk-AJN66F32.js} +2 -2
  22. package/dist/{chunk-DWA45BWR.js → chunk-BRGT4O6Q.js} +2 -2
  23. package/dist/{chunk-643FOYQB.js → chunk-BTGJ3MP4.js} +2 -2
  24. package/dist/{chunk-AT7VFZRB.js → chunk-CXZKCBQE.js} +2 -2
  25. package/dist/{chunk-PMOXLQ72.js → chunk-DLRGB5NY.js} +2 -2
  26. package/dist/chunk-DY3ZYMXD.js +2 -0
  27. package/dist/chunk-DY3ZYMXD.js.map +7 -0
  28. package/dist/{chunk-M7FNPRV4.js → chunk-EO777UIN.js} +2 -2
  29. package/dist/{chunk-HLS5FI55.js → chunk-ESRS5ZQV.js} +2 -2
  30. package/dist/{chunk-YDX2PCVL.js → chunk-FNZI6MFG.js} +2 -2
  31. package/dist/{chunk-6PZPBPAD.js → chunk-FSR6BDVO.js} +2 -2
  32. package/dist/{chunk-ZSPJZ3ZH.js → chunk-G26R2F3W.js} +2 -2
  33. package/dist/chunk-GLAY4RJF.js +2 -0
  34. package/dist/chunk-GLAY4RJF.js.map +7 -0
  35. package/dist/{chunk-SWCB2GMN.js → chunk-GNKVLJ5H.js} +2 -2
  36. package/dist/chunk-IODSL7KU.js +2 -0
  37. package/dist/chunk-IODSL7KU.js.map +7 -0
  38. package/dist/{chunk-EXIADWI7.js → chunk-J2TCHWYD.js} +2 -2
  39. package/dist/{chunk-IUOEPAWG.js → chunk-J5BZAKC6.js} +2 -2
  40. package/dist/{chunk-5BMG5ZBY.js → chunk-JBOKM5YA.js} +2 -2
  41. package/dist/{chunk-N2LS4JD6.js → chunk-L6DOWGBO.js} +2 -2
  42. package/dist/{chunk-2YRQULDC.js → chunk-LHWY6G6Q.js} +2 -2
  43. package/dist/chunk-LLHDEUIA.js +2 -0
  44. package/dist/chunk-LLHDEUIA.js.map +7 -0
  45. package/dist/chunk-LXWCTCZV.js +2 -0
  46. package/dist/chunk-LXWCTCZV.js.map +7 -0
  47. package/dist/{chunk-FPU53CCV.js → chunk-M7HLHGQV.js} +2 -2
  48. package/dist/{chunk-J5QPFJ7M.js → chunk-MGSCSS7X.js} +2 -2
  49. package/dist/{chunk-NJ5IFOPR.js → chunk-MM2OC66E.js} +2 -2
  50. package/dist/{chunk-MNSDGJKA.js → chunk-MQEALOU3.js} +2 -2
  51. package/dist/{chunk-TQPQ4UEA.js → chunk-NAUSRVB6.js} +2 -2
  52. package/dist/{chunk-JLKIHXZP.js → chunk-NEVDHDJ4.js} +2 -2
  53. package/dist/{chunk-F4HZUAKM.js → chunk-NWHH3CYH.js} +2 -2
  54. package/dist/{chunk-3FCIZKIN.js → chunk-OADWLPSF.js} +2 -2
  55. package/dist/{chunk-4AZ44KV4.js → chunk-OB3VIRQR.js} +2 -2
  56. package/dist/{chunk-4CWYF4O7.js → chunk-QOSTS5I3.js} +2 -2
  57. package/dist/{chunk-XR677UYD.js → chunk-QVBDBGS4.js} +2 -2
  58. package/dist/{chunk-GEBAYD6N.js → chunk-RMATRKXV.js} +2 -2
  59. package/dist/{chunk-Z6L55FTN.js → chunk-S3ILIWSW.js} +2 -2
  60. package/dist/{chunk-P4O57S6N.js → chunk-SEUIIPHS.js} +2 -2
  61. package/dist/{chunk-R32HPK7R.js → chunk-T5OGUCY2.js} +2 -2
  62. package/dist/chunk-TMBGEZSD.js +2 -0
  63. package/dist/chunk-TMBGEZSD.js.map +7 -0
  64. package/dist/{chunk-5PWPAN62.js → chunk-TVO3Z2BM.js} +2 -2
  65. package/dist/{chunk-UQRQH2JW.js → chunk-U25QSLAH.js} +2 -2
  66. package/dist/chunk-UCWICDYG.js +2 -0
  67. package/dist/{chunk-YXOKWCYS.js.map → chunk-UCWICDYG.js.map} +4 -4
  68. package/dist/{chunk-C3MWS7P2.js → chunk-UL364TLO.js} +2 -2
  69. package/dist/chunk-UUAGMZD2.js +2 -0
  70. package/dist/chunk-UUAGMZD2.js.map +7 -0
  71. package/dist/chunk-XFDNXSU5.js +2 -0
  72. package/dist/{chunk-XQHATUKN.js.map → chunk-XFDNXSU5.js.map} +3 -3
  73. package/dist/{chunk-XFIREDWO.js → chunk-XNRZJP4E.js} +2 -2
  74. package/dist/{chunk-JE56CJX2.js → chunk-Z6HZY2YG.js} +2 -2
  75. package/dist/{chunk-3QRA3XOA.js → chunk-ZEIE2OCQ.js} +2 -2
  76. package/dist/{chunk-4S3HRFQB.js → chunk-ZLYZFHEN.js} +2 -2
  77. package/dist/components/breadcrumb.js +1 -1
  78. package/dist/components/button.js +1 -1
  79. package/dist/components/chart.js +1 -1
  80. package/dist/components/chat.js +1 -1
  81. package/dist/components/checkbox.js +1 -1
  82. package/dist/components/checkboxgroup.js +1 -1
  83. package/dist/components/codeviewer.js +1 -1
  84. package/dist/components/columntotals.js +2 -0
  85. package/dist/components/columntotals.js.map +7 -0
  86. package/dist/components/combobox.js +1 -1
  87. package/dist/components/dataview.js +1 -1
  88. package/dist/components/datefield.js +1 -1
  89. package/dist/components/daterangefield.js +1 -1
  90. package/dist/components/datetimefield.js +1 -1
  91. package/dist/components/dial.js +1 -1
  92. package/dist/components/dropdown.js +1 -1
  93. package/dist/components/exportbar.js +2 -0
  94. package/dist/components/exportbar.js.map +7 -0
  95. package/dist/components/fieldgroup.js +1 -1
  96. package/dist/components/fieldlist.js +1 -1
  97. package/dist/components/filterbuilder.js +1 -1
  98. package/dist/components/form.js +1 -1
  99. package/dist/components/formactions.js +1 -1
  100. package/dist/components/grid.js +1 -1
  101. package/dist/components/gridexport.js +1 -1
  102. package/dist/components/grouping.js +1 -1
  103. package/dist/components/imagefield.js +1 -1
  104. package/dist/components/inputgroup.js +1 -1
  105. package/dist/components/lookupfield.js +1 -1
  106. package/dist/components/maskfield.js +1 -1
  107. package/dist/components/menu.js +1 -1
  108. package/dist/components/messagebox.js +1 -1
  109. package/dist/components/navmenu.js +1 -1
  110. package/dist/components/numberfield.js +1 -1
  111. package/dist/components/panel.js +1 -1
  112. package/dist/components/pickerfield.js +1 -1
  113. package/dist/components/radiogroup.js +1 -1
  114. package/dist/components/searchgrid.js +1 -1
  115. package/dist/components/secretfield.js +1 -1
  116. package/dist/components/select.js +1 -1
  117. package/dist/components/shortcuts.js +1 -1
  118. package/dist/components/slider.js +1 -1
  119. package/dist/components/stat.js +1 -1
  120. package/dist/components/stepform.js +1 -1
  121. package/dist/components/suggestfield.js +1 -1
  122. package/dist/components/table.js +1 -1
  123. package/dist/components/textarea.js +1 -1
  124. package/dist/components/textfield.js +1 -1
  125. package/dist/components/timeentry.js +2 -0
  126. package/dist/components/timeentry.js.map +7 -0
  127. package/dist/components/timefield.js +1 -1
  128. package/dist/components/timeline.js +1 -1
  129. package/dist/components/toast.js +1 -1
  130. package/dist/components/toggle.js +1 -1
  131. package/dist/components/viewmanager.js +1 -1
  132. package/dist/components/widget.js +1 -1
  133. package/dist/components/window.js +1 -1
  134. package/dist/core.js +1 -1
  135. package/dist/css/columntotals.css +56 -0
  136. package/dist/css/exportbar.css +9 -0
  137. package/dist/css/grid.css +12 -0
  138. package/dist/css/grouping.css +7 -0
  139. package/dist/css/timeentry.css +116 -0
  140. package/dist/css/timeline.css +45 -0
  141. package/dist/data.js +1 -1
  142. package/dist/dev.js +1 -1
  143. package/dist/dev.js.map +2 -2
  144. package/dist/index.js +4 -4
  145. package/dist/index.js.map +1 -1
  146. package/dist/optikos.css +248 -0
  147. package/dist/types/build/build.d.ts +49 -0
  148. package/dist/types/build/index.d.ts +1 -0
  149. package/dist/types/components/columntotals.d.ts +1 -0
  150. package/dist/types/components/data/columntotals/columntotals.d.ts +24 -0
  151. package/dist/types/components/data/exportbar/exportbar.d.ts +24 -0
  152. package/dist/types/components/data/grid/footer.d.ts +6 -0
  153. package/dist/types/components/data/grouping/controls.d.ts +27 -0
  154. package/dist/types/components/data/grouping/grouping.d.ts +15 -3
  155. package/dist/types/components/data/timeentry/timeentry.d.ts +37 -0
  156. package/dist/types/components/data/timeline/timeline.d.ts +3 -0
  157. package/dist/types/components/exportbar.d.ts +1 -0
  158. package/dist/types/components/timeentry.d.ts +1 -0
  159. package/dist/types/data/column.d.ts +4 -2
  160. package/dist/types/index.d.ts +4 -0
  161. package/dist/ui.js +1 -1
  162. package/package.json +5 -1
  163. package/dist/chunk-2HNQ2XRY.js +0 -2
  164. package/dist/chunk-2HNQ2XRY.js.map +0 -7
  165. package/dist/chunk-BJWREA76.js +0 -2
  166. package/dist/chunk-BJWREA76.js.map +0 -7
  167. package/dist/chunk-GFFZTFQH.js +0 -2
  168. package/dist/chunk-GFFZTFQH.js.map +0 -7
  169. package/dist/chunk-SB4ICXBV.js +0 -2
  170. package/dist/chunk-SB4ICXBV.js.map +0 -7
  171. package/dist/chunk-XQHATUKN.js +0 -2
  172. package/dist/chunk-YXOKWCYS.js +0 -2
  173. /package/dist/{chunk-JSEI44A7.js.map → chunk-2I4Y7I7C.js.map} +0 -0
  174. /package/dist/{chunk-U5L76VVB.js.map → chunk-2I7HDIOU.js.map} +0 -0
  175. /package/dist/{chunk-FCJI2JF7.js.map → chunk-34KVSA2V.js.map} +0 -0
  176. /package/dist/{chunk-NQV4THNE.js.map → chunk-37PYJAA2.js.map} +0 -0
  177. /package/dist/{chunk-JJLOUMCJ.js.map → chunk-3OA3P37P.js.map} +0 -0
  178. /package/dist/{chunk-S2CMWKVB.js.map → chunk-5GCTM37D.js.map} +0 -0
  179. /package/dist/{chunk-RG6SHPHF.js.map → chunk-6NP4AEV4.js.map} +0 -0
  180. /package/dist/{chunk-6LJK4QWF.js.map → chunk-6PPRYSLN.js.map} +0 -0
  181. /package/dist/{chunk-NNR2FNHG.js.map → chunk-6TZJO2G2.js.map} +0 -0
  182. /package/dist/{chunk-DWTDNKXX.js.map → chunk-A36JFIA3.js.map} +0 -0
  183. /package/dist/{chunk-CFGCB37K.js.map → chunk-ADHKL2GM.js.map} +0 -0
  184. /package/dist/{chunk-CMV3F6HR.js.map → chunk-AJN66F32.js.map} +0 -0
  185. /package/dist/{chunk-DWA45BWR.js.map → chunk-BRGT4O6Q.js.map} +0 -0
  186. /package/dist/{chunk-643FOYQB.js.map → chunk-BTGJ3MP4.js.map} +0 -0
  187. /package/dist/{chunk-AT7VFZRB.js.map → chunk-CXZKCBQE.js.map} +0 -0
  188. /package/dist/{chunk-PMOXLQ72.js.map → chunk-DLRGB5NY.js.map} +0 -0
  189. /package/dist/{chunk-M7FNPRV4.js.map → chunk-EO777UIN.js.map} +0 -0
  190. /package/dist/{chunk-HLS5FI55.js.map → chunk-ESRS5ZQV.js.map} +0 -0
  191. /package/dist/{chunk-YDX2PCVL.js.map → chunk-FNZI6MFG.js.map} +0 -0
  192. /package/dist/{chunk-6PZPBPAD.js.map → chunk-FSR6BDVO.js.map} +0 -0
  193. /package/dist/{chunk-ZSPJZ3ZH.js.map → chunk-G26R2F3W.js.map} +0 -0
  194. /package/dist/{chunk-SWCB2GMN.js.map → chunk-GNKVLJ5H.js.map} +0 -0
  195. /package/dist/{chunk-EXIADWI7.js.map → chunk-J2TCHWYD.js.map} +0 -0
  196. /package/dist/{chunk-IUOEPAWG.js.map → chunk-J5BZAKC6.js.map} +0 -0
  197. /package/dist/{chunk-5BMG5ZBY.js.map → chunk-JBOKM5YA.js.map} +0 -0
  198. /package/dist/{chunk-N2LS4JD6.js.map → chunk-L6DOWGBO.js.map} +0 -0
  199. /package/dist/{chunk-2YRQULDC.js.map → chunk-LHWY6G6Q.js.map} +0 -0
  200. /package/dist/{chunk-FPU53CCV.js.map → chunk-M7HLHGQV.js.map} +0 -0
  201. /package/dist/{chunk-J5QPFJ7M.js.map → chunk-MGSCSS7X.js.map} +0 -0
  202. /package/dist/{chunk-NJ5IFOPR.js.map → chunk-MM2OC66E.js.map} +0 -0
  203. /package/dist/{chunk-MNSDGJKA.js.map → chunk-MQEALOU3.js.map} +0 -0
  204. /package/dist/{chunk-TQPQ4UEA.js.map → chunk-NAUSRVB6.js.map} +0 -0
  205. /package/dist/{chunk-JLKIHXZP.js.map → chunk-NEVDHDJ4.js.map} +0 -0
  206. /package/dist/{chunk-F4HZUAKM.js.map → chunk-NWHH3CYH.js.map} +0 -0
  207. /package/dist/{chunk-3FCIZKIN.js.map → chunk-OADWLPSF.js.map} +0 -0
  208. /package/dist/{chunk-4AZ44KV4.js.map → chunk-OB3VIRQR.js.map} +0 -0
  209. /package/dist/{chunk-4CWYF4O7.js.map → chunk-QOSTS5I3.js.map} +0 -0
  210. /package/dist/{chunk-XR677UYD.js.map → chunk-QVBDBGS4.js.map} +0 -0
  211. /package/dist/{chunk-GEBAYD6N.js.map → chunk-RMATRKXV.js.map} +0 -0
  212. /package/dist/{chunk-Z6L55FTN.js.map → chunk-S3ILIWSW.js.map} +0 -0
  213. /package/dist/{chunk-P4O57S6N.js.map → chunk-SEUIIPHS.js.map} +0 -0
  214. /package/dist/{chunk-R32HPK7R.js.map → chunk-T5OGUCY2.js.map} +0 -0
  215. /package/dist/{chunk-5PWPAN62.js.map → chunk-TVO3Z2BM.js.map} +0 -0
  216. /package/dist/{chunk-UQRQH2JW.js.map → chunk-U25QSLAH.js.map} +0 -0
  217. /package/dist/{chunk-C3MWS7P2.js.map → chunk-UL364TLO.js.map} +0 -0
  218. /package/dist/{chunk-XFIREDWO.js.map → chunk-XNRZJP4E.js.map} +0 -0
  219. /package/dist/{chunk-JE56CJX2.js.map → chunk-Z6HZY2YG.js.map} +0 -0
  220. /package/dist/{chunk-3QRA3XOA.js.map → chunk-ZEIE2OCQ.js.map} +0 -0
  221. /package/dist/{chunk-4S3HRFQB.js.map → chunk-ZLYZFHEN.js.map} +0 -0
@@ -3,6 +3,8 @@
3
3
  --op-timeline-marker: 0.875rem;
4
4
  --op-timeline-when-width: 8rem;
5
5
  --op-timeline-lane-width: 8rem;
6
+ --op-timeline-axis-width: 4rem;
7
+ --op-timeline-height: 32rem;
6
8
  --op-timeline-bar-height: 1.75rem;
7
9
  --op-timeline-line: 2px;
8
10
  }
@@ -137,4 +139,47 @@
137
139
  background: var(--op-color-danger);
138
140
  pointer-events: none;
139
141
  }
142
+
143
+ .op-timeline--vertical.op-timeline--range {
144
+ display: grid;
145
+ gap: var(--op-space-2);
146
+ }
147
+ .op-timeline--vertical .op-timeline__axis,
148
+ .op-timeline--vertical .op-timeline__lane {
149
+ display: flex;
150
+ flex-direction: column;
151
+ align-items: stretch;
152
+ border-block-start: 0;
153
+ border-inline-start: var(--op-border-width) solid var(--op-color-border);
154
+ padding-block: 0;
155
+ padding-inline: var(--op-space-1);
156
+ min-inline-size: 0;
157
+ }
158
+ .op-timeline--vertical .op-timeline__axis {
159
+ border-inline-start: 0;
160
+ }
161
+ .op-timeline--vertical .op-timeline__lane-name {
162
+ text-align: center;
163
+ padding-block-end: var(--op-space-1);
164
+ }
165
+ .op-timeline--vertical .op-timeline__track,
166
+ .op-timeline--vertical .op-timeline__axis .op-timeline__track {
167
+ block-size: var(--op-timeline-height);
168
+ }
169
+ .op-timeline--vertical .op-timeline__tick {
170
+ inset-inline-start: 0;
171
+ transform: translateY(-50%);
172
+ }
173
+ .op-timeline--vertical .op-timeline__bar {
174
+ inset-block: auto;
175
+ inset-inline: 0;
176
+ align-items: flex-start;
177
+ padding-block: var(--op-space-1);
178
+ }
179
+ .op-timeline--vertical .op-timeline__now {
180
+ inset-block: auto;
181
+ inset-inline: 0;
182
+ inline-size: auto;
183
+ block-size: var(--op-timeline-line);
184
+ }
140
185
  }
package/dist/data.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as d,b as e}from"./chunk-X2ASKUFD.js";import{a as h}from"./chunk-2HNQ2XRY.js";import{a as f,b as g}from"./chunk-XQHATUKN.js";import{a,b,c}from"./chunk-L5SQQFO7.js";import"./chunk-3VDLX7ET.js";import"./chunk-S4QD5NID.js";import"./chunk-4C666HHU.js";export{d as MemoryProxy,a as Model,e as RestProxy,c as Store,h as cellContent,g as format,b as matchFilter,f as registerFormat};
1
+ import{a as d,b as e}from"./chunk-X2ASKUFD.js";import{a as h}from"./chunk-IODSL7KU.js";import{a as f,b as g}from"./chunk-XFDNXSU5.js";import{a,b,c}from"./chunk-L5SQQFO7.js";import"./chunk-3VDLX7ET.js";import"./chunk-S4QD5NID.js";import"./chunk-4C666HHU.js";export{d as MemoryProxy,a as Model,e as RestProxy,c as Store,h as cellContent,g as format,b as matchFilter,f as registerFormat};
2
2
  //# sourceMappingURL=data.js.map
package/dist/dev.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as r}from"./chunk-2QMI2RRB.js";import{f as d}from"./chunk-UDXO3KM3.js";import"./chunk-PZSHOSOS.js";import"./chunk-3VDLX7ET.js";import"./chunk-S4QD5NID.js";import"./chunk-4C666HHU.js";var n={avatar:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading name permission permissionMode region renderTo shape showIf size src stableSize status style theme tooltip type width",badge:"ariaLabel cls colspan data disabled dot enableIf flex height hidden icon id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tone tooltip type width",breadcrumb:"ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading maxItems permission permissionMode region renderTo separator showIf stableSize style theme tooltip type width",button:"ariaLabel cls colspan data disabled enableIf flex handler height hidden htmlType icon iconPos id listeners loading loadingText permission permissionMode pressed region renderTo showIf stableSize style text theme toggle tooltip type variant width",calendar:"ariaLabel cls colspan data disabled enableIf firstDay flex height hidden id isDisabled listeners loading max min permission permissionMode range region renderTo showIf stableSize style theme tooltip type value width",carousel:"active activeItem ariaLabel arrows autoplay closable cls colspan data defaultType defaults disabled dots enableIf flex gap height hidden icon id items layout listeners loading loop onReload perView permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",chart:"ariaLabel cls colspan data disabled enableIf flex format height hidden id kind legend listeners loading permission permissionMode region renderTo series showIf stableSize stacked store style theme title tooltip type width x",chat:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading maxLength me messages permission permissionMode placeholder readonly region renderTo renderer sendOnEnter showAuthors showIf stableSize style suggestions theme tooltip type users width",checkbox:"ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",checkboxgroup:"ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",chip:"ariaLabel cls colspan data disabled enableIf flex handler height hidden icon id listeners loading permission permissionMode region removable renderTo selectable selected showIf stableSize style text theme tooltip type width",codeviewer:"ariaLabel bar cls code colspan copyable data disabled enableIf flex height hidden highlight id language lineNumbers listeners loading maxHeight permission permissionMode region renderTo showIf stableSize startLine style theme title tooltip type width wrap",combobox:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayField displayFrom emptyText enableIf filter flex forceSelection height help hidden id inputType label labelPos listeners loading maxHeight maxLength minLength name openOnFocus options pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width",commandpalette:"ariaLabel categories cls colspan commands data disabled emptyText enableIf filters flex height hidden hotkey id listeners loading maxResults permission permissionMode placeholder region renderTo showIf stableSize style theme tooltip type width",container:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",dataview:"ariaLabel cls colspan data disabled emptyText enableIf flex gap height hidden id itemCls itemWidth listeners loading pageSize paging permission permissionMode region renderTo renderer selection showIf stableSize stagger store style theme tooltip type width",datefield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",daterangefield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",datetimefield:"ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading max min name permission permissionMode readonly region renderTo required showIf stableSize step style theme tooltip type utc validateOn validators value width",dial:"ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos labels listeners loading max min name options permission permissionMode readonly region renderTo required shape showIf snap stableSize step style theme tooltip type validateOn validators value width",dropdown:"anchor ariaLabel autoFocus closeOnEsc closeOnOutside cls colspan content data disabled enableIf flex flip height hidden id listeners loading matchWidth offset permission permissionMode placement region renderTo role showIf stableSize style theme tooltip type width",fieldgroup:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height help hidden icon id items label labelPos layout listeners loading onReload permission permissionMode region reloadable renderTo required showIf stableSize stackBelow style theme title tooltip type width",fieldlist:"addText ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id items label labelPos listeners loading max min name newRow permission permissionMode readonly region renderTo reorderable required rowLayout showIf stableSize style theme tooltip type validateOn validators value width",fieldset:"activeItem ariaLabel closable cls collapsed collapsible colspan columns data defaultType defaults description disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type variant width",filterbuilder:"addMode ariaLabel cls colspan data disabled enableIf fields flex height hidden id listeners live loading maxDepth permission permissionMode region renderTo showIf stableSize store style theme tooltip type value width",form:"activeItem ariaLabel closable cls colspan columns data defaultType defaults disabled enableIf flex height hidden icon id items labelPos labelWidth layout listeners loading onReload permission permissionMode readonly region reloadable renderTo showIf stableSize style tabs theme title tooltip type width",formactions:"ariaLabel buttons cancelText cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo requireChanges showIf stableSize status sticky style submitText theme tooltip type width",formerrors:"ariaLabel cls colspan data disabled enableIf flex focus height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme title tooltip type width",formsection:"activeItem ariaLabel aside closable cls colspan columns data defaultType defaults description disabled divider enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",grid:"ariaLabel bulkActions checkboxSelection cls colspan columnMenu columns data disabled emptyText enableIf flex groupHeaders height hidden id keepSelection listeners loading pageSize paging permission permissionMode plugins region renderTo reorderableColumns resizableColumns rowActions rowActionsMode rowHeight selection showIf stableSize store striped style theme tooltip type width",icon:"ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading name permission permissionMode region renderTo showIf stableSize style theme tooltip type width",image:"alt ariaLabel cls colspan data disabled eager enableIf fallback fit flex height hidden id listeners loading permission permissionMode ratio region renderTo rounded showIf src stableSize style theme tooltip type width",imagecanvas:"alt ariaLabel cls colspan data disabled enableIf fit flex height hidden id listeners loading maxZoom permission permissionMode ratio region renderTo showIf showTools src stableSize style theme tooltip type width zoomable",imagefield:"accept ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading maxFiles maxSize multiple name permission permissionMode placeholder readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",inputgroup:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode prefix region reloadable renderTo showIf stableSize style suffix theme title tooltip type width",label:"ariaLabel cls colspan data disabled enableIf flex for height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tooltip type variant width",listbox:"ariaLabel cls colspan data disabled emptyText enableIf flex height hidden highlight id items listeners loading maxHeight permission permissionMode region renderTo renderer selected showIf stableSize style theme tooltip type width",lookupfield:"ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading lookup maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width",maskfield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading mask maxLength minLength name pattern permission permissionMode placeholder raw readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",menu:"ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo search showIf stableSize style theme tooltip type width",navmenu:"accordion active ariaLabel cls collapsed colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",numberfield:"ariaLabel autocomplete clearable cls colspan currency data debounce decimals disabled displayFrom enableIf flex format height help hidden id inputType label labelPos listeners loading locale max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required scale selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width",pagination:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading page pageSize permission permissionMode region renderTo showIf showInfo siblings stableSize store style theme tooltip total type width",panel:"activeItem ariaLabel bbar bodyCls buttons closable closeAction cls collapsed collapsible colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width",radiogroup:"ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",searchgrid:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading lookup permission permissionMode region renderTo showIf stableSize style theme tooltip type width",secretfield:"ariaLabel autoHide autocomplete clearable cls colspan confirmReplace data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo replaceText replaceTitle required selectOnFocus showIf stableSize stored style theme tooltip type validateOn validators value width",select:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",slider:"ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos listeners loading marks max min name permission permissionMode range readonly region renderTo required showIf showScale showValue stableSize step style theme tooltip type validateOn validators value width",spacer:"ariaLabel cls colspan data disabled enableIf flex height hidden id line listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",spinner:"ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",stat:"ariaLabel caption cls colspan data delta disabled enableIf flex format good height hidden icon id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip trend type value width",stepform:"activeItem ariaLabel autoFocus backText cancelText closable cls colspan columns data defaultType defaults disabled enableIf finishText flex height hidden icon id items labelPos labelWidth layout linear listeners loading nextText onReload permission permissionMode readonly region reloadable renderTo review reviewTitle showIf stableSize steps style tabs theme title tooltip type width",stepper:"active ariaLabel clickable cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize steps style theme tooltip type width",suggestfield:"ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width",table:"ariaLabel caption cls colspan columns data disabled emptyText enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize store striped style theme tooltip type width",tabs:"active activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout lazy listeners loading onReload permission permissionMode position region reloadable renderTo showIf stableSize style theme title tooltip type width",textarea:"ariaLabel autoGrow autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength maxRows minLength name pattern permission permissionMode placeholder readonly region renderTo required rows selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",textfield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",timefield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width",timeline:"ariaLabel cls colspan data disabled enableIf flex from height hidden id items lanes listeners loading mode now permission permissionMode plugins region renderTo showIf stableSize store style theme to tooltip type width",toast:"ariaLabel closable cls colspan data disabled duration enableIf flex height hidden id listeners loading permission permissionMode position region renderTo showIf stableSize style text theme title tooltip type width",toggle:"ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",toolbar:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type vertical width",tree:"ariaLabel checkboxes cls colspan data disabled emptyText enableIf flex height hidden id items listeners load loading permission permissionMode region renderTo selection showIf stableSize style theme tooltip type width",viewmanager:"ariaLabel autoLoad cls colspan data disabled enableIf extra filters flex grid height hidden id listeners loading permission permissionMode region renderTo showIf stableSize storage style theme tooltip type width",viewport:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",widget:"activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnEsc cls collapsed collapsible colspan data defaultType defaults disabled draggable enableIf flex floating height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo resizable showIf side sideSwitcher sides size stableSize style tbar theme title tools tooltip type width",window:"activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnBackdrop closeOnEsc cls collapsed collapsible colspan confirmDiscard data defaultType defaults disabled draggable enableIf flex height hidden icon id items layout listeners loading mask modal onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width"};var p=new Map,h=new Set;function b(o,e){let i=Array.from({length:e.length+1},(l,t)=>t);for(let l=1;l<=o.length;l++){let t=i[0];i[0]=l;for(let a=1;a<=e.length;a++){let s=i[a];i[a]=Math.min(i[a]+1,i[a-1]+1,t+(o[l-1]===e[a-1]?0:1)),t=s}}return i[e.length]}function m(){return d.onCreate=o=>{let e=o.config.type;if(!e||!(e in n))return;let i=p.get(e);i||p.set(e,i=new Set(n[e].split(" ")));for(let l in o.config){let t=`${e}.${l}`;if(i.has(l)||h.has(t))continue;h.add(t);let a=[...i].find(s=>b(s.toLowerCase(),l.toLowerCase())<=2);console.warn(`Optikos: "${e}" has no option "${l}", so it is ignored${a?` (did you mean "${a}"?)`:""}`)}},()=>d.onCreate=void 0}r()&&m();export{m as enableConfigWarnings};
1
+ import{a as r}from"./chunk-2QMI2RRB.js";import{f as d}from"./chunk-UDXO3KM3.js";import"./chunk-PZSHOSOS.js";import"./chunk-3VDLX7ET.js";import"./chunk-S4QD5NID.js";import"./chunk-4C666HHU.js";var n={avatar:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading name permission permissionMode region renderTo shape showIf size src stableSize status style theme tooltip type width",badge:"ariaLabel cls colspan data disabled dot enableIf flex height hidden icon id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tone tooltip type width",breadcrumb:"ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading maxItems permission permissionMode region renderTo separator showIf stableSize style theme tooltip type width",button:"ariaLabel cls colspan data disabled enableIf flex handler height hidden htmlType icon iconPos id listeners loading loadingText permission permissionMode pressed region renderTo showIf stableSize style text theme toggle tooltip type variant width",calendar:"ariaLabel cls colspan data disabled enableIf firstDay flex height hidden id isDisabled listeners loading max min permission permissionMode range region renderTo showIf stableSize style theme tooltip type value width",carousel:"active activeItem ariaLabel arrows autoplay closable cls colspan data defaultType defaults disabled dots enableIf flex gap height hidden icon id items layout listeners loading loop onReload perView permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",chart:"ariaLabel cls colspan data disabled enableIf flex format height hidden id kind legend listeners loading permission permissionMode region renderTo series showIf stableSize stacked store style theme title tooltip type width x",chat:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading maxLength me messages permission permissionMode placeholder readonly region renderTo renderer sendOnEnter showAuthors showIf stableSize style suggestions theme tooltip type users width",checkbox:"ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",checkboxgroup:"ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",chip:"ariaLabel cls colspan data disabled enableIf flex handler height hidden icon id listeners loading permission permissionMode region removable renderTo selectable selected showIf stableSize style text theme tooltip type width",codeviewer:"ariaLabel bar cls code colspan copyable data disabled enableIf flex height hidden highlight id language lineNumbers listeners loading maxHeight permission permissionMode region renderTo showIf stableSize startLine style theme title tooltip type width wrap",combobox:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayField displayFrom emptyText enableIf filter flex forceSelection height help hidden id inputType label labelPos listeners loading maxHeight maxLength minLength name openOnFocus options pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width",commandpalette:"ariaLabel categories cls colspan commands data disabled emptyText enableIf filters flex height hidden hotkey id listeners loading maxResults permission permissionMode placeholder region renderTo showIf stableSize style theme tooltip type width",container:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",dataview:"ariaLabel cls colspan data disabled emptyText enableIf flex gap height hidden id itemCls itemWidth listeners loading pageSize paging permission permissionMode region renderTo renderer selection showIf stableSize stagger store style theme tooltip type width",datefield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",daterangefield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",datetimefield:"ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading max min name permission permissionMode readonly region renderTo required showIf stableSize step style theme tooltip type utc validateOn validators value width",dial:"ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos labels listeners loading max min name options permission permissionMode readonly region renderTo required shape showIf snap stableSize step style theme tooltip type validateOn validators value width",dropdown:"anchor ariaLabel autoFocus closeOnEsc closeOnOutside cls colspan content data disabled enableIf flex flip height hidden id listeners loading matchWidth offset permission permissionMode placement region renderTo role showIf stableSize style theme tooltip type width",fieldgroup:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height help hidden icon id items label labelPos layout listeners loading onReload permission permissionMode region reloadable renderTo required showIf stableSize stackBelow style theme title tooltip type width",fieldlist:"addText ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id items label labelPos listeners loading max min name newRow permission permissionMode readonly region renderTo reorderable required rowLayout showIf stableSize style theme tooltip type validateOn validators value width",fieldset:"activeItem ariaLabel closable cls collapsed collapsible colspan columns data defaultType defaults description disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type variant width",filterbuilder:"addMode ariaLabel cls colspan data disabled enableIf fields flex height hidden id listeners live loading maxDepth permission permissionMode region renderTo showIf stableSize store style theme tooltip type value width",form:"activeItem ariaLabel closable cls colspan columns data defaultType defaults disabled enableIf flex height hidden icon id items labelPos labelWidth layout listeners loading onReload permission permissionMode readonly region reloadable renderTo showIf stableSize style tabs theme title tooltip type width",formactions:"ariaLabel buttons cancelText cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo requireChanges showIf stableSize status sticky style submitText theme tooltip type width",formerrors:"ariaLabel cls colspan data disabled enableIf flex focus height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme title tooltip type width",formsection:"activeItem ariaLabel aside closable cls colspan columns data defaultType defaults description disabled divider enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",grid:"ariaLabel bulkActions checkboxSelection cls colspan columnMenu columns data disabled emptyText enableIf flex groupHeaders height hidden id keepSelection listeners loading pageSize paging permission permissionMode plugins region renderTo reorderableColumns resizableColumns rowActions rowActionsMode rowHeight selection showIf stableSize store striped style theme tooltip type width",icon:"ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading name permission permissionMode region renderTo showIf stableSize style theme tooltip type width",image:"alt ariaLabel cls colspan data disabled eager enableIf fallback fit flex height hidden id listeners loading permission permissionMode ratio region renderTo rounded showIf src stableSize style theme tooltip type width",imagecanvas:"alt ariaLabel cls colspan data disabled enableIf fit flex height hidden id listeners loading maxZoom permission permissionMode ratio region renderTo showIf showTools src stableSize style theme tooltip type width zoomable",imagefield:"accept ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading maxFiles maxSize multiple name permission permissionMode placeholder readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",inputgroup:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode prefix region reloadable renderTo showIf stableSize style suffix theme title tooltip type width",label:"ariaLabel cls colspan data disabled enableIf flex for height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tooltip type variant width",listbox:"ariaLabel cls colspan data disabled emptyText enableIf flex height hidden highlight id items listeners loading maxHeight permission permissionMode region renderTo renderer selected showIf stableSize style theme tooltip type width",lookupfield:"ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading lookup maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width",maskfield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading mask maxLength minLength name pattern permission permissionMode placeholder raw readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",menu:"ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo search showIf stableSize style theme tooltip type width",navmenu:"accordion active ariaLabel cls collapsed colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",numberfield:"ariaLabel autocomplete clearable cls colspan currency data debounce decimals disabled displayFrom enableIf flex format height help hidden id inputType label labelPos listeners loading locale max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required scale selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width",pagination:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading page pageSize permission permissionMode region renderTo showIf showInfo siblings stableSize store style theme tooltip total type width",panel:"activeItem ariaLabel bbar bodyCls buttons closable closeAction cls collapsed collapsible colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width",radiogroup:"ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",searchgrid:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading lookup permission permissionMode region renderTo showIf stableSize style theme tooltip type width",secretfield:"ariaLabel autoHide autocomplete clearable cls colspan confirmReplace data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo replaceText replaceTitle required selectOnFocus showIf stableSize stored style theme tooltip type validateOn validators value width",select:"ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",slider:"ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos listeners loading marks max min name permission permissionMode range readonly region renderTo required showIf showScale showValue stableSize step style theme tooltip type validateOn validators value width",spacer:"ariaLabel cls colspan data disabled enableIf flex height hidden id line listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",spinner:"ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width",stat:"ariaLabel caption cls colspan data delta disabled enableIf flex format good height hidden icon id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip trend type value width",stepform:"activeItem ariaLabel autoFocus backText cancelText closable cls colspan columns data defaultType defaults disabled enableIf finishText flex height hidden icon id items labelPos labelWidth layout linear listeners loading nextText onReload permission permissionMode readonly region reloadable renderTo review reviewTitle showIf stableSize steps style tabs theme title tooltip type width",stepper:"active ariaLabel clickable cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize steps style theme tooltip type width",suggestfield:"ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width",table:"ariaLabel caption cls colspan columns data disabled emptyText enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize store striped style theme tooltip type width",tabs:"active activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout lazy listeners loading onReload permission permissionMode position region reloadable renderTo showIf stableSize style theme title tooltip type width",textarea:"ariaLabel autoGrow autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength maxRows minLength name pattern permission permissionMode placeholder readonly region renderTo required rows selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",textfield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width",timefield:"ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width",timeline:"ariaLabel cls colspan data direction disabled enableIf flex from height hidden id items lanes listeners loading mode now permission permissionMode plugins region renderTo showIf stableSize store style theme to tooltip type width",toast:"ariaLabel closable cls colspan data disabled duration enableIf flex height hidden id listeners loading permission permissionMode position region renderTo showIf stableSize style text theme title tooltip type width",toggle:"ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width",toolbar:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type vertical width",tree:"ariaLabel checkboxes cls colspan data disabled emptyText enableIf flex height hidden id items listeners load loading permission permissionMode region renderTo selection showIf stableSize style theme tooltip type width",viewmanager:"ariaLabel autoLoad cls colspan data disabled enableIf extra filters flex grid height hidden id listeners loading permission permissionMode region renderTo showIf stableSize storage style theme tooltip type width",viewport:"activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width",widget:"activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnEsc cls collapsed collapsible colspan data defaultType defaults disabled draggable enableIf flex floating height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo resizable showIf side sideSwitcher sides size stableSize style tbar theme title tools tooltip type width",window:"activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnBackdrop closeOnEsc cls collapsed collapsible colspan confirmDiscard data defaultType defaults disabled draggable enableIf flex height hidden icon id items layout listeners loading mask modal onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width"};var p=new Map,h=new Set;function b(o,e){let i=Array.from({length:e.length+1},(l,t)=>t);for(let l=1;l<=o.length;l++){let t=i[0];i[0]=l;for(let a=1;a<=e.length;a++){let s=i[a];i[a]=Math.min(i[a]+1,i[a-1]+1,t+(o[l-1]===e[a-1]?0:1)),t=s}}return i[e.length]}function m(){return d.onCreate=o=>{let e=o.config.type;if(!e||!(e in n))return;let i=p.get(e);i||p.set(e,i=new Set(n[e].split(" ")));for(let l in o.config){let t=`${e}.${l}`;if(i.has(l)||h.has(t))continue;h.add(t);let a=[...i].find(s=>b(s.toLowerCase(),l.toLowerCase())<=2);console.warn(`Optikos: "${e}" has no option "${l}", so it is ignored${a?` (did you mean "${a}"?)`:""}`)}},()=>d.onCreate=void 0}r()&&m();export{m as enableConfigWarnings};
2
2
  //# sourceMappingURL=dev.js.map
package/dist/dev.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/dev/keys.ts", "../src/dev/index.ts"],
4
- "sourcesContent": ["// Generated by scripts/lib.mjs genKeys(). Run `npm run gen` after changing a config interface.\nexport const keys: Record<string, string> = {\n avatar: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading name permission permissionMode region renderTo shape showIf size src stableSize status style theme tooltip type width',\n badge: 'ariaLabel cls colspan data disabled dot enableIf flex height hidden icon id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tone tooltip type width',\n breadcrumb: 'ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading maxItems permission permissionMode region renderTo separator showIf stableSize style theme tooltip type width',\n button: 'ariaLabel cls colspan data disabled enableIf flex handler height hidden htmlType icon iconPos id listeners loading loadingText permission permissionMode pressed region renderTo showIf stableSize style text theme toggle tooltip type variant width',\n calendar: 'ariaLabel cls colspan data disabled enableIf firstDay flex height hidden id isDisabled listeners loading max min permission permissionMode range region renderTo showIf stableSize style theme tooltip type value width',\n carousel: 'active activeItem ariaLabel arrows autoplay closable cls colspan data defaultType defaults disabled dots enableIf flex gap height hidden icon id items layout listeners loading loop onReload perView permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n chart: 'ariaLabel cls colspan data disabled enableIf flex format height hidden id kind legend listeners loading permission permissionMode region renderTo series showIf stableSize stacked store style theme title tooltip type width x',\n chat: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading maxLength me messages permission permissionMode placeholder readonly region renderTo renderer sendOnEnter showAuthors showIf stableSize style suggestions theme tooltip type users width',\n checkbox: 'ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n checkboxgroup: 'ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n chip: 'ariaLabel cls colspan data disabled enableIf flex handler height hidden icon id listeners loading permission permissionMode region removable renderTo selectable selected showIf stableSize style text theme tooltip type width',\n codeviewer: 'ariaLabel bar cls code colspan copyable data disabled enableIf flex height hidden highlight id language lineNumbers listeners loading maxHeight permission permissionMode region renderTo showIf stableSize startLine style theme title tooltip type width wrap',\n combobox: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayField displayFrom emptyText enableIf filter flex forceSelection height help hidden id inputType label labelPos listeners loading maxHeight maxLength minLength name openOnFocus options pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width',\n commandpalette: 'ariaLabel categories cls colspan commands data disabled emptyText enableIf filters flex height hidden hotkey id listeners loading maxResults permission permissionMode placeholder region renderTo showIf stableSize style theme tooltip type width',\n container: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n dataview: 'ariaLabel cls colspan data disabled emptyText enableIf flex gap height hidden id itemCls itemWidth listeners loading pageSize paging permission permissionMode region renderTo renderer selection showIf stableSize stagger store style theme tooltip type width',\n datefield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n daterangefield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n datetimefield: 'ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading max min name permission permissionMode readonly region renderTo required showIf stableSize step style theme tooltip type utc validateOn validators value width',\n dial: 'ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos labels listeners loading max min name options permission permissionMode readonly region renderTo required shape showIf snap stableSize step style theme tooltip type validateOn validators value width',\n dropdown: 'anchor ariaLabel autoFocus closeOnEsc closeOnOutside cls colspan content data disabled enableIf flex flip height hidden id listeners loading matchWidth offset permission permissionMode placement region renderTo role showIf stableSize style theme tooltip type width',\n fieldgroup: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height help hidden icon id items label labelPos layout listeners loading onReload permission permissionMode region reloadable renderTo required showIf stableSize stackBelow style theme title tooltip type width',\n fieldlist: 'addText ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id items label labelPos listeners loading max min name newRow permission permissionMode readonly region renderTo reorderable required rowLayout showIf stableSize style theme tooltip type validateOn validators value width',\n fieldset: 'activeItem ariaLabel closable cls collapsed collapsible colspan columns data defaultType defaults description disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type variant width',\n filterbuilder: 'addMode ariaLabel cls colspan data disabled enableIf fields flex height hidden id listeners live loading maxDepth permission permissionMode region renderTo showIf stableSize store style theme tooltip type value width',\n form: 'activeItem ariaLabel closable cls colspan columns data defaultType defaults disabled enableIf flex height hidden icon id items labelPos labelWidth layout listeners loading onReload permission permissionMode readonly region reloadable renderTo showIf stableSize style tabs theme title tooltip type width',\n formactions: 'ariaLabel buttons cancelText cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo requireChanges showIf stableSize status sticky style submitText theme tooltip type width',\n formerrors: 'ariaLabel cls colspan data disabled enableIf flex focus height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme title tooltip type width',\n formsection: 'activeItem ariaLabel aside closable cls colspan columns data defaultType defaults description disabled divider enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n grid: 'ariaLabel bulkActions checkboxSelection cls colspan columnMenu columns data disabled emptyText enableIf flex groupHeaders height hidden id keepSelection listeners loading pageSize paging permission permissionMode plugins region renderTo reorderableColumns resizableColumns rowActions rowActionsMode rowHeight selection showIf stableSize store striped style theme tooltip type width',\n icon: 'ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading name permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n image: 'alt ariaLabel cls colspan data disabled eager enableIf fallback fit flex height hidden id listeners loading permission permissionMode ratio region renderTo rounded showIf src stableSize style theme tooltip type width',\n imagecanvas: 'alt ariaLabel cls colspan data disabled enableIf fit flex height hidden id listeners loading maxZoom permission permissionMode ratio region renderTo showIf showTools src stableSize style theme tooltip type width zoomable',\n imagefield: 'accept ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading maxFiles maxSize multiple name permission permissionMode placeholder readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n inputgroup: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode prefix region reloadable renderTo showIf stableSize style suffix theme title tooltip type width',\n label: 'ariaLabel cls colspan data disabled enableIf flex for height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tooltip type variant width',\n listbox: 'ariaLabel cls colspan data disabled emptyText enableIf flex height hidden highlight id items listeners loading maxHeight permission permissionMode region renderTo renderer selected showIf stableSize style theme tooltip type width',\n lookupfield: 'ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading lookup maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width',\n maskfield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading mask maxLength minLength name pattern permission permissionMode placeholder raw readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n menu: 'ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo search showIf stableSize style theme tooltip type width',\n navmenu: 'accordion active ariaLabel cls collapsed colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n numberfield: 'ariaLabel autocomplete clearable cls colspan currency data debounce decimals disabled displayFrom enableIf flex format height help hidden id inputType label labelPos listeners loading locale max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required scale selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width',\n pagination: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading page pageSize permission permissionMode region renderTo showIf showInfo siblings stableSize store style theme tooltip total type width',\n panel: 'activeItem ariaLabel bbar bodyCls buttons closable closeAction cls collapsed collapsible colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width',\n radiogroup: 'ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n searchgrid: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading lookup permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n secretfield: 'ariaLabel autoHide autocomplete clearable cls colspan confirmReplace data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo replaceText replaceTitle required selectOnFocus showIf stableSize stored style theme tooltip type validateOn validators value width',\n select: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n slider: 'ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos listeners loading marks max min name permission permissionMode range readonly region renderTo required showIf showScale showValue stableSize step style theme tooltip type validateOn validators value width',\n spacer: 'ariaLabel cls colspan data disabled enableIf flex height hidden id line listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n spinner: 'ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n stat: 'ariaLabel caption cls colspan data delta disabled enableIf flex format good height hidden icon id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip trend type value width',\n stepform: 'activeItem ariaLabel autoFocus backText cancelText closable cls colspan columns data defaultType defaults disabled enableIf finishText flex height hidden icon id items labelPos labelWidth layout linear listeners loading nextText onReload permission permissionMode readonly region reloadable renderTo review reviewTitle showIf stableSize steps style tabs theme title tooltip type width',\n stepper: 'active ariaLabel clickable cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize steps style theme tooltip type width',\n suggestfield: 'ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width',\n table: 'ariaLabel caption cls colspan columns data disabled emptyText enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize store striped style theme tooltip type width',\n tabs: 'active activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout lazy listeners loading onReload permission permissionMode position region reloadable renderTo showIf stableSize style theme title tooltip type width',\n textarea: 'ariaLabel autoGrow autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength maxRows minLength name pattern permission permissionMode placeholder readonly region renderTo required rows selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n textfield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n timefield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width',\n timeline: 'ariaLabel cls colspan data disabled enableIf flex from height hidden id items lanes listeners loading mode now permission permissionMode plugins region renderTo showIf stableSize store style theme to tooltip type width',\n toast: 'ariaLabel closable cls colspan data disabled duration enableIf flex height hidden id listeners loading permission permissionMode position region renderTo showIf stableSize style text theme title tooltip type width',\n toggle: 'ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n toolbar: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type vertical width',\n tree: 'ariaLabel checkboxes cls colspan data disabled emptyText enableIf flex height hidden id items listeners load loading permission permissionMode region renderTo selection showIf stableSize style theme tooltip type width',\n viewmanager: 'ariaLabel autoLoad cls colspan data disabled enableIf extra filters flex grid height hidden id listeners loading permission permissionMode region renderTo showIf stableSize storage style theme tooltip type width',\n viewport: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n widget: 'activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnEsc cls collapsed collapsible colspan data defaultType defaults disabled draggable enableIf flex floating height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo resizable showIf side sideSwitcher sides size stableSize style tbar theme title tools tooltip type width',\n window: 'activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnBackdrop closeOnEsc cls collapsed collapsible colspan confirmDiscard data defaultType defaults disabled draggable enableIf flex height hidden icon id items layout listeners loading mask modal onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width',\n};\n", "// Development aid: `import 'optikos/dev'` warns in the console about config options a component does not know\n// (a typo, or an option that belongs to another type). It switches itself on at localhost; elsewhere call `enableConfigWarnings()`.\nimport { Component } from '../core/component';\nimport { isDev } from '../core/dev';\nimport { keys } from './keys';\n\nconst known = new Map<string, Set<string>>();\nconst warned = new Set<string>();\n\nfunction distance(a: string, b: string): number {\n const row = Array.from({ length: b.length + 1 }, (_, i) => i);\n for (let i = 1; i <= a.length; i++) {\n let prev = row[0];\n row[0] = i;\n for (let j = 1; j <= b.length; j++) {\n const tmp = row[j];\n row[j] = Math.min(row[j] + 1, row[j - 1] + 1, prev + (a[i - 1] === b[j - 1] ? 0 : 1));\n prev = tmp;\n }\n }\n return row[b.length];\n}\n\n/** Starts warning; returns the function that stops it. Each type/option pair warns once. */\nexport function enableConfigWarnings(): () => void {\n Component.onCreate = (c) => {\n const type = c.config.type;\n if (!type || !(type in keys)) return;\n let ok = known.get(type);\n if (!ok) known.set(type, (ok = new Set(keys[type].split(' '))));\n for (const k in c.config) {\n const id = `${type}.${k}`;\n if (ok.has(k) || warned.has(id)) continue;\n warned.add(id);\n const near = [...ok].find((x) => distance(x.toLowerCase(), k.toLowerCase()) <= 2);\n console.warn(`Optikos: \"${type}\" has no option \"${k}\", so it is ignored${near ? ` (did you mean \"${near}\"?)` : ''}`);\n }\n };\n return () => (Component.onCreate = undefined);\n}\n\nif (isDev()) enableConfigWarnings();\n"],
5
- "mappings": "gMACO,IAAMA,EAA+B,CAC1C,OAAQ,6MACR,MAAO,qMACP,WAAY,2MACZ,OAAQ,wPACR,SAAU,0NACV,SAAU,oTACV,MAAO,kOACP,KAAM,gRACN,SAAU,qSACV,cAAe,gSACf,KAAM,kOACN,WAAY,kQACZ,SAAU,2cACV,eAAgB,sPAChB,UAAW,uQACX,SAAU,mQACV,UAAW,sXACX,eAAgB,sXAChB,cAAe,+RACf,KAAM,4TACN,SAAU,2QACV,WAAY,+SACZ,UAAW,iUACX,SAAU,yTACV,cAAe,2NACf,KAAM,iTACN,YAAa,6OACb,WAAY,8LACZ,YAAa,ySACb,KAAM,gYACN,KAAM,6LACN,MAAO,2NACP,YAAa,+NACb,WAAY,2TACZ,WAAY,qRACZ,MAAO,mMACP,QAAS,wOACT,YAAa,+eACb,UAAW,8WACX,KAAM,+LACN,QAAS,mNACT,YAAa,wZACb,WAAY,8NACZ,MAAO,yUACP,WAAY,gSACZ,WAAY,yLACZ,YAAa,6ZACb,OAAQ,kLACR,OAAQ,kUACR,OAAQ,uLACR,QAAS,wLACT,KAAM,mOACN,SAAU,mYACV,QAAS,yMACT,aAAc,weACd,MAAO,0NACP,KAAM,4RACN,SAAU,2XACV,UAAW,qWACX,UAAW,kXACX,SAAU,6NACV,MAAO,wNACP,OAAQ,qSACR,QAAS,gRACT,KAAM,4NACN,YAAa,sNACb,SAAU,uQACV,OAAQ,wZACR,OAAQ,iZACV,ECjEA,IAAMC,EAAQ,IAAI,IACZC,EAAS,IAAI,IAEnB,SAASC,EAASC,EAAWC,EAAmB,CAC9C,IAAMC,EAAM,MAAM,KAAK,CAAE,OAAQD,EAAE,OAAS,CAAE,EAAG,CAACE,EAAGC,IAAMA,CAAC,EAC5D,QAASA,EAAI,EAAGA,GAAKJ,EAAE,OAAQI,IAAK,CAClC,IAAIC,EAAOH,EAAI,CAAC,EAChBA,EAAI,CAAC,EAAIE,EACT,QAASE,EAAI,EAAGA,GAAKL,EAAE,OAAQK,IAAK,CAClC,IAAMC,EAAML,EAAII,CAAC,EACjBJ,EAAII,CAAC,EAAI,KAAK,IAAIJ,EAAII,CAAC,EAAI,EAAGJ,EAAII,EAAI,CAAC,EAAI,EAAGD,GAAQL,EAAEI,EAAI,CAAC,IAAMH,EAAEK,EAAI,CAAC,EAAI,EAAI,EAAE,EACpFD,EAAOE,CACT,CACF,CACA,OAAOL,EAAID,EAAE,MAAM,CACrB,CAGO,SAASO,GAAmC,CACjD,OAAAC,EAAU,SAAYC,GAAM,CAC1B,IAAMC,EAAOD,EAAE,OAAO,KACtB,GAAI,CAACC,GAAQ,EAAEA,KAAQC,GAAO,OAC9B,IAAIC,EAAKhB,EAAM,IAAIc,CAAI,EAClBE,GAAIhB,EAAM,IAAIc,EAAOE,EAAK,IAAI,IAAID,EAAKD,CAAI,EAAE,MAAM,GAAG,CAAC,CAAE,EAC9D,QAAWG,KAAKJ,EAAE,OAAQ,CACxB,IAAMK,EAAK,GAAGJ,CAAI,IAAIG,CAAC,GACvB,GAAID,EAAG,IAAIC,CAAC,GAAKhB,EAAO,IAAIiB,CAAE,EAAG,SACjCjB,EAAO,IAAIiB,CAAE,EACb,IAAMC,EAAO,CAAC,GAAGH,CAAE,EAAE,KAAMI,GAAMlB,EAASkB,EAAE,YAAY,EAAGH,EAAE,YAAY,CAAC,GAAK,CAAC,EAChF,QAAQ,KAAK,aAAaH,CAAI,oBAAoBG,CAAC,sBAAsBE,EAAO,mBAAmBA,CAAI,MAAQ,EAAE,EAAE,CACrH,CACF,EACO,IAAOP,EAAU,SAAW,MACrC,CAEIS,EAAM,GAAGV,EAAqB",
4
+ "sourcesContent": ["// Generated by scripts/lib.mjs genKeys(). Run `npm run gen` after changing a config interface.\nexport const keys: Record<string, string> = {\n avatar: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading name permission permissionMode region renderTo shape showIf size src stableSize status style theme tooltip type width',\n badge: 'ariaLabel cls colspan data disabled dot enableIf flex height hidden icon id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tone tooltip type width',\n breadcrumb: 'ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading maxItems permission permissionMode region renderTo separator showIf stableSize style theme tooltip type width',\n button: 'ariaLabel cls colspan data disabled enableIf flex handler height hidden htmlType icon iconPos id listeners loading loadingText permission permissionMode pressed region renderTo showIf stableSize style text theme toggle tooltip type variant width',\n calendar: 'ariaLabel cls colspan data disabled enableIf firstDay flex height hidden id isDisabled listeners loading max min permission permissionMode range region renderTo showIf stableSize style theme tooltip type value width',\n carousel: 'active activeItem ariaLabel arrows autoplay closable cls colspan data defaultType defaults disabled dots enableIf flex gap height hidden icon id items layout listeners loading loop onReload perView permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n chart: 'ariaLabel cls colspan data disabled enableIf flex format height hidden id kind legend listeners loading permission permissionMode region renderTo series showIf stableSize stacked store style theme title tooltip type width x',\n chat: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading maxLength me messages permission permissionMode placeholder readonly region renderTo renderer sendOnEnter showAuthors showIf stableSize style suggestions theme tooltip type users width',\n checkbox: 'ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n checkboxgroup: 'ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n chip: 'ariaLabel cls colspan data disabled enableIf flex handler height hidden icon id listeners loading permission permissionMode region removable renderTo selectable selected showIf stableSize style text theme tooltip type width',\n codeviewer: 'ariaLabel bar cls code colspan copyable data disabled enableIf flex height hidden highlight id language lineNumbers listeners loading maxHeight permission permissionMode region renderTo showIf stableSize startLine style theme title tooltip type width wrap',\n combobox: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayField displayFrom emptyText enableIf filter flex forceSelection height help hidden id inputType label labelPos listeners loading maxHeight maxLength minLength name openOnFocus options pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width',\n commandpalette: 'ariaLabel categories cls colspan commands data disabled emptyText enableIf filters flex height hidden hotkey id listeners loading maxResults permission permissionMode placeholder region renderTo showIf stableSize style theme tooltip type width',\n container: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n dataview: 'ariaLabel cls colspan data disabled emptyText enableIf flex gap height hidden id itemCls itemWidth listeners loading pageSize paging permission permissionMode region renderTo renderer selection showIf stableSize stagger store style theme tooltip type width',\n datefield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n daterangefield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf firstDay flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n datetimefield: 'ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading max min name permission permissionMode readonly region renderTo required showIf stableSize step style theme tooltip type utc validateOn validators value width',\n dial: 'ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos labels listeners loading max min name options permission permissionMode readonly region renderTo required shape showIf snap stableSize step style theme tooltip type validateOn validators value width',\n dropdown: 'anchor ariaLabel autoFocus closeOnEsc closeOnOutside cls colspan content data disabled enableIf flex flip height hidden id listeners loading matchWidth offset permission permissionMode placement region renderTo role showIf stableSize style theme tooltip type width',\n fieldgroup: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height help hidden icon id items label labelPos layout listeners loading onReload permission permissionMode region reloadable renderTo required showIf stableSize stackBelow style theme title tooltip type width',\n fieldlist: 'addText ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id items label labelPos listeners loading max min name newRow permission permissionMode readonly region renderTo reorderable required rowLayout showIf stableSize style theme tooltip type validateOn validators value width',\n fieldset: 'activeItem ariaLabel closable cls collapsed collapsible colspan columns data defaultType defaults description disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type variant width',\n filterbuilder: 'addMode ariaLabel cls colspan data disabled enableIf fields flex height hidden id listeners live loading maxDepth permission permissionMode region renderTo showIf stableSize store style theme tooltip type value width',\n form: 'activeItem ariaLabel closable cls colspan columns data defaultType defaults disabled enableIf flex height hidden icon id items labelPos labelWidth layout listeners loading onReload permission permissionMode readonly region reloadable renderTo showIf stableSize style tabs theme title tooltip type width',\n formactions: 'ariaLabel buttons cancelText cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo requireChanges showIf stableSize status sticky style submitText theme tooltip type width',\n formerrors: 'ariaLabel cls colspan data disabled enableIf flex focus height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme title tooltip type width',\n formsection: 'activeItem ariaLabel aside closable cls colspan columns data defaultType defaults description disabled divider enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n grid: 'ariaLabel bulkActions checkboxSelection cls colspan columnMenu columns data disabled emptyText enableIf flex groupHeaders height hidden id keepSelection listeners loading pageSize paging permission permissionMode plugins region renderTo reorderableColumns resizableColumns rowActions rowActionsMode rowHeight selection showIf stableSize store striped style theme tooltip type width',\n icon: 'ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading name permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n image: 'alt ariaLabel cls colspan data disabled eager enableIf fallback fit flex height hidden id listeners loading permission permissionMode ratio region renderTo rounded showIf src stableSize style theme tooltip type width',\n imagecanvas: 'alt ariaLabel cls colspan data disabled enableIf fit flex height hidden id listeners loading maxZoom permission permissionMode ratio region renderTo showIf showTools src stableSize style theme tooltip type width zoomable',\n imagefield: 'accept ariaLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading maxFiles maxSize multiple name permission permissionMode placeholder readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n inputgroup: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode prefix region reloadable renderTo showIf stableSize style suffix theme title tooltip type width',\n label: 'ariaLabel cls colspan data disabled enableIf flex for height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style text theme tooltip type variant width',\n listbox: 'ariaLabel cls colspan data disabled emptyText enableIf flex height hidden highlight id items listeners loading maxHeight permission permissionMode region renderTo renderer selected showIf stableSize style theme tooltip type width',\n lookupfield: 'ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading lookup maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width',\n maskfield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading mask maxLength minLength name pattern permission permissionMode placeholder raw readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n menu: 'ariaLabel cls colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo search showIf stableSize style theme tooltip type width',\n navmenu: 'accordion active ariaLabel cls collapsed colspan data disabled enableIf flex height hidden id items listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n numberfield: 'ariaLabel autocomplete clearable cls colspan currency data debounce decimals disabled displayFrom enableIf flex format height help hidden id inputType label labelPos listeners loading locale max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required scale selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width',\n pagination: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading page pageSize permission permissionMode region renderTo showIf showInfo siblings stableSize store style theme tooltip total type width',\n panel: 'activeItem ariaLabel bbar bodyCls buttons closable closeAction cls collapsed collapsible colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width',\n radiogroup: 'ariaLabel cls colspan data debounce direction disabled displayFrom enableIf flex height help hidden id label labelPos listeners loading name options permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n searchgrid: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading lookup permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n secretfield: 'ariaLabel autoHide autocomplete clearable cls colspan confirmReplace data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo replaceText replaceTitle required selectOnFocus showIf stableSize stored style theme tooltip type validateOn validators value width',\n select: 'ariaLabel cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n slider: 'ariaLabel cls colspan data debounce disabled displayFrom enableIf flex format height help hidden id label labelPos listeners loading marks max min name permission permissionMode range readonly region renderTo required showIf showScale showValue stableSize step style theme tooltip type validateOn validators value width',\n spacer: 'ariaLabel cls colspan data disabled enableIf flex height hidden id line listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n spinner: 'ariaLabel cls colspan data disabled enableIf flex height hidden id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip type width',\n stat: 'ariaLabel caption cls colspan data delta disabled enableIf flex format good height hidden icon id label listeners loading permission permissionMode region renderTo showIf stableSize style theme tooltip trend type value width',\n stepform: 'activeItem ariaLabel autoFocus backText cancelText closable cls colspan columns data defaultType defaults disabled enableIf finishText flex height hidden icon id items labelPos labelWidth layout linear listeners loading nextText onReload permission permissionMode readonly region reloadable renderTo review reviewTitle showIf stableSize steps style tabs theme title tooltip type width',\n stepper: 'active ariaLabel clickable cls colspan data disabled enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize steps style theme tooltip type width',\n suggestfield: 'ariaLabel autocomplete clearable cls colspan data debounce delay disabled displayField displayFrom emptyText enableIf flex forceSelection height help hidden highlight icon id inputType label labelPos listeners loading maxHeight maxLength minChars minLength name openOnFocus options pattern permission permissionMode placeholder query readonly region renderTo required selectOnFocus showIf showValue stableSize store style theme tooltip type validateOn validators value valueField width',\n table: 'ariaLabel caption cls colspan columns data disabled emptyText enableIf flex height hidden id listeners loading permission permissionMode region renderTo showIf stableSize store striped style theme tooltip type width',\n tabs: 'active activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout lazy listeners loading onReload permission permissionMode position region reloadable renderTo showIf stableSize style theme title tooltip type width',\n textarea: 'ariaLabel autoGrow autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength maxRows minLength name pattern permission permissionMode placeholder readonly region renderTo required rows selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n textfield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading maxLength minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize style theme tooltip type validateOn validators value width',\n timefield: 'ariaLabel autocomplete clearable cls colspan data debounce disabled displayFrom enableIf flex height help hidden id inputType label labelPos listeners loading max maxLength min minLength name pattern permission permissionMode placeholder readonly region renderTo required selectOnFocus showIf stableSize step style theme tooltip type validateOn validators value width',\n timeline: 'ariaLabel cls colspan data direction disabled enableIf flex from height hidden id items lanes listeners loading mode now permission permissionMode plugins region renderTo showIf stableSize store style theme to tooltip type width',\n toast: 'ariaLabel closable cls colspan data disabled duration enableIf flex height hidden id listeners loading permission permissionMode position region renderTo showIf stableSize style text theme title tooltip type width',\n toggle: 'ariaLabel boxLabel cls colspan data debounce disabled displayFrom enableIf flex height help hidden id indeterminate label labelPos listeners loading name permission permissionMode readonly region renderTo required showIf stableSize style theme tooltip type validateOn validators value width',\n toolbar: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type vertical width',\n tree: 'ariaLabel checkboxes cls colspan data disabled emptyText enableIf flex height hidden id items listeners load loading permission permissionMode region renderTo selection showIf stableSize style theme tooltip type width',\n viewmanager: 'ariaLabel autoLoad cls colspan data disabled enableIf extra filters flex grid height hidden id listeners loading permission permissionMode region renderTo showIf stableSize storage style theme tooltip type width',\n viewport: 'activeItem ariaLabel closable cls colspan data defaultType defaults disabled enableIf flex height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo showIf stableSize style theme title tooltip type width',\n widget: 'activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnEsc cls collapsed collapsible colspan data defaultType defaults disabled draggable enableIf flex floating height hidden icon id items layout listeners loading onReload permission permissionMode region reloadable renderTo resizable showIf side sideSwitcher sides size stableSize style tbar theme title tools tooltip type width',\n window: 'activeItem ariaLabel autoFocus bbar bodyCls buttons closable closeAction closeOnBackdrop closeOnEsc cls collapsed collapsible colspan confirmDiscard data defaultType defaults disabled draggable enableIf flex height hidden icon id items layout listeners loading mask modal onReload permission permissionMode region reloadable renderTo showIf stableSize style tbar theme title tools tooltip type width',\n};\n", "// Development aid: `import 'optikos/dev'` warns in the console about config options a component does not know\n// (a typo, or an option that belongs to another type). It switches itself on at localhost; elsewhere call `enableConfigWarnings()`.\nimport { Component } from '../core/component';\nimport { isDev } from '../core/dev';\nimport { keys } from './keys';\n\nconst known = new Map<string, Set<string>>();\nconst warned = new Set<string>();\n\nfunction distance(a: string, b: string): number {\n const row = Array.from({ length: b.length + 1 }, (_, i) => i);\n for (let i = 1; i <= a.length; i++) {\n let prev = row[0];\n row[0] = i;\n for (let j = 1; j <= b.length; j++) {\n const tmp = row[j];\n row[j] = Math.min(row[j] + 1, row[j - 1] + 1, prev + (a[i - 1] === b[j - 1] ? 0 : 1));\n prev = tmp;\n }\n }\n return row[b.length];\n}\n\n/** Starts warning; returns the function that stops it. Each type/option pair warns once. */\nexport function enableConfigWarnings(): () => void {\n Component.onCreate = (c) => {\n const type = c.config.type;\n if (!type || !(type in keys)) return;\n let ok = known.get(type);\n if (!ok) known.set(type, (ok = new Set(keys[type].split(' '))));\n for (const k in c.config) {\n const id = `${type}.${k}`;\n if (ok.has(k) || warned.has(id)) continue;\n warned.add(id);\n const near = [...ok].find((x) => distance(x.toLowerCase(), k.toLowerCase()) <= 2);\n console.warn(`Optikos: \"${type}\" has no option \"${k}\", so it is ignored${near ? ` (did you mean \"${near}\"?)` : ''}`);\n }\n };\n return () => (Component.onCreate = undefined);\n}\n\nif (isDev()) enableConfigWarnings();\n"],
5
+ "mappings": "gMACO,IAAMA,EAA+B,CAC1C,OAAQ,6MACR,MAAO,qMACP,WAAY,2MACZ,OAAQ,wPACR,SAAU,0NACV,SAAU,oTACV,MAAO,kOACP,KAAM,gRACN,SAAU,qSACV,cAAe,gSACf,KAAM,kOACN,WAAY,kQACZ,SAAU,2cACV,eAAgB,sPAChB,UAAW,uQACX,SAAU,mQACV,UAAW,sXACX,eAAgB,sXAChB,cAAe,+RACf,KAAM,4TACN,SAAU,2QACV,WAAY,+SACZ,UAAW,iUACX,SAAU,yTACV,cAAe,2NACf,KAAM,iTACN,YAAa,6OACb,WAAY,8LACZ,YAAa,ySACb,KAAM,gYACN,KAAM,6LACN,MAAO,2NACP,YAAa,+NACb,WAAY,2TACZ,WAAY,qRACZ,MAAO,mMACP,QAAS,wOACT,YAAa,+eACb,UAAW,8WACX,KAAM,+LACN,QAAS,mNACT,YAAa,wZACb,WAAY,8NACZ,MAAO,yUACP,WAAY,gSACZ,WAAY,yLACZ,YAAa,6ZACb,OAAQ,kLACR,OAAQ,kUACR,OAAQ,uLACR,QAAS,wLACT,KAAM,mOACN,SAAU,mYACV,QAAS,yMACT,aAAc,weACd,MAAO,0NACP,KAAM,4RACN,SAAU,2XACV,UAAW,qWACX,UAAW,kXACX,SAAU,uOACV,MAAO,wNACP,OAAQ,qSACR,QAAS,gRACT,KAAM,4NACN,YAAa,sNACb,SAAU,uQACV,OAAQ,wZACR,OAAQ,iZACV,ECjEA,IAAMC,EAAQ,IAAI,IACZC,EAAS,IAAI,IAEnB,SAASC,EAASC,EAAWC,EAAmB,CAC9C,IAAMC,EAAM,MAAM,KAAK,CAAE,OAAQD,EAAE,OAAS,CAAE,EAAG,CAACE,EAAGC,IAAMA,CAAC,EAC5D,QAASA,EAAI,EAAGA,GAAKJ,EAAE,OAAQI,IAAK,CAClC,IAAIC,EAAOH,EAAI,CAAC,EAChBA,EAAI,CAAC,EAAIE,EACT,QAASE,EAAI,EAAGA,GAAKL,EAAE,OAAQK,IAAK,CAClC,IAAMC,EAAML,EAAII,CAAC,EACjBJ,EAAII,CAAC,EAAI,KAAK,IAAIJ,EAAII,CAAC,EAAI,EAAGJ,EAAII,EAAI,CAAC,EAAI,EAAGD,GAAQL,EAAEI,EAAI,CAAC,IAAMH,EAAEK,EAAI,CAAC,EAAI,EAAI,EAAE,EACpFD,EAAOE,CACT,CACF,CACA,OAAOL,EAAID,EAAE,MAAM,CACrB,CAGO,SAASO,GAAmC,CACjD,OAAAC,EAAU,SAAYC,GAAM,CAC1B,IAAMC,EAAOD,EAAE,OAAO,KACtB,GAAI,CAACC,GAAQ,EAAEA,KAAQC,GAAO,OAC9B,IAAIC,EAAKhB,EAAM,IAAIc,CAAI,EAClBE,GAAIhB,EAAM,IAAIc,EAAOE,EAAK,IAAI,IAAID,EAAKD,CAAI,EAAE,MAAM,GAAG,CAAC,CAAE,EAC9D,QAAWG,KAAKJ,EAAE,OAAQ,CACxB,IAAMK,EAAK,GAAGJ,CAAI,IAAIG,CAAC,GACvB,GAAID,EAAG,IAAIC,CAAC,GAAKhB,EAAO,IAAIiB,CAAE,EAAG,SACjCjB,EAAO,IAAIiB,CAAE,EACb,IAAMC,EAAO,CAAC,GAAGH,CAAE,EAAE,KAAMI,GAAMlB,EAASkB,EAAE,YAAY,EAAGH,EAAE,YAAY,CAAC,GAAK,CAAC,EAChF,QAAQ,KAAK,aAAaH,CAAI,oBAAoBG,CAAC,sBAAsBE,EAAO,mBAAmBA,CAAI,MAAQ,EAAE,EAAE,CACrH,CACF,EACO,IAAOP,EAAU,SAAW,MACrC,CAEIS,EAAM,GAAGV,EAAqB",
6
6
  "names": ["keys", "known", "warned", "distance", "a", "b", "row", "_", "i", "prev", "j", "tmp", "enableConfigWarnings", "Component", "c", "type", "keys", "ok", "k", "id", "near", "x", "isDev"]
7
7
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a as Xe,b as Ye}from"./chunk-EXIADWI7.js";import{a as Ze,b as _e}from"./chunk-J5QPFJ7M.js";import{a as ot,b as rt}from"./chunk-SA53QUBF.js";import{a as et}from"./chunk-JSEI44A7.js";import{a as qe}from"./chunk-CWIE74NX.js";import{a as ze}from"./chunk-FPU53CCV.js";import{a as Je}from"./chunk-SWCB2GMN.js";import{a as Qe}from"./chunk-3TCITFUU.js";import{a as Ue}from"./chunk-Q6FY4L2F.js";import{a as Le}from"./chunk-BIGL3ZVD.js";import{a as Oe}from"./chunk-F4HZUAKM.js";import{a as Ne}from"./chunk-JLKIHXZP.js";import{a as Pe}from"./chunk-6BOM5KZR.js";import{a as Ke}from"./chunk-DJUSVBD5.js";import"./chunk-YJTUFK4P.js";import{a as We}from"./chunk-4OB2IM5L.js";import{a as He}from"./chunk-YDX2PCVL.js";import{a as Me}from"./chunk-DWTDNKXX.js";import{a as ke}from"./chunk-GEBAYD6N.js";import{a as De}from"./chunk-ESCLDVFS.js";import{a as Ve}from"./chunk-6LJK4QWF.js";import{a as Te}from"./chunk-MQ5BYGFY.js";import{a as Ce,b as je}from"./chunk-GZIDE5K2.js";import{a as Ee,b as Fe,c as Ae}from"./chunk-NQV4THNE.js";import{a as Ie}from"./chunk-3FK52VQX.js";import{a as be,b as ve}from"./chunk-FCJI2JF7.js";import{a as Re}from"./chunk-HX6TWXTX.js";import{a as Be,b as $e}from"./chunk-BJWREA76.js";import{a as Ge}from"./chunk-GFJRGBQR.js";import{a as we}from"./chunk-XFIREDWO.js";import{a as Se}from"./chunk-SB4ICXBV.js";import{a as ue}from"./chunk-PMOXLQ72.js";import{a as le}from"./chunk-3QRA3XOA.js";import{a as xe}from"./chunk-C3MWS7P2.js";import{a as ge,b as de}from"./chunk-M2ZRKHE4.js";import{a as ye}from"./chunk-AT7VFZRB.js";import{a as he}from"./chunk-4S3HRFQB.js";import{a as se}from"./chunk-HG7OOHGD.js";import{a as pe}from"./chunk-PGVLRMTQ.js";import{a as me}from"./chunk-3BG75P7T.js";import{a as ie,b as fe}from"./chunk-NJ5IFOPR.js";import{a as ce}from"./chunk-I5A74NMJ.js";import{a as ae}from"./chunk-5PYJ6FJK.js";import{a as yo}from"./chunk-7Y2GHQRB.js";import{a as uo,b as xo,c as go}from"./chunk-YLFSCQL3.js";import{a as Ao,b as Io}from"./chunk-X2ASKUFD.js";import"./chunk-X6AULZI4.js";import{a as Qr,b as Ur,c as Xr,d as Yr,e as Zr,f as _r,g as oe,h as re,i as ee,j as te,k as ne}from"./chunk-YXOKWCYS.js";import{a as vr}from"./chunk-DWA45BWR.js";import{a as Jr}from"./chunk-3FCIZKIN.js";import{a as Br}from"./chunk-ZSPJZ3ZH.js";import{a as Wr}from"./chunk-NNR2FNHG.js";import{a as wr}from"./chunk-CFGCB37K.js";import{a as qr}from"./chunk-U5L76VVB.js";import{a as cr}from"./chunk-P4O57S6N.js";import{a as hr}from"./chunk-S2CMWKVB.js";import{a as yr}from"./chunk-TQPQ4UEA.js";import{a as ur}from"./chunk-M7FNPRV4.js";import{a as zr}from"./chunk-6PZPBPAD.js";import{a as Pr}from"./chunk-JJLOUMCJ.js";import{a as Tr}from"./chunk-4CWYF4O7.js";import{a as lr}from"./chunk-5PWPAN62.js";import{a as Kr}from"./chunk-5BMG5ZBY.js";import{a as Ar}from"./chunk-JE56CJX2.js";import{a as Fr}from"./chunk-UQRQH2JW.js";import"./chunk-HRW25TMU.js";import{a as jr}from"./chunk-3F4MN2BU.js";import{a as Cr}from"./chunk-SEW5OCQF.js";import{a as br}from"./chunk-Z6L55FTN.js";import{a as Rr}from"./chunk-643FOYQB.js";import{a as Sr}from"./chunk-CMV3F6HR.js";import{a as Gr}from"./chunk-N2LS4JD6.js";import{a as $r}from"./chunk-H25XXQVH.js";import{a as Mr,b as kr,c as Dr,d as Lr,e as Or}from"./chunk-IUOEPAWG.js";import{a as Nr}from"./chunk-AQ3RTHG5.js";import{a as ar}from"./chunk-R32HPK7R.js";import{a as dr}from"./chunk-4AZ44KV4.js";import{a as gr}from"./chunk-GEJKFE4X.js";import{a as Hr}from"./chunk-GFFZTFQH.js";import{a as Ir}from"./chunk-BCVOUMJJ.js";import{a as Vr}from"./chunk-MNSDGJKA.js";import{a as xr}from"./chunk-RG6SHPHF.js";import{a as fr}from"./chunk-2YRQULDC.js";import{a as Er}from"./chunk-HLS5FI55.js";import{a as sr,b as pr,c as mr,d as ir}from"./chunk-DIOJGTUN.js";import{a as mo,b as io,c as fo}from"./chunk-BQEFLPDA.js";import{i as Co}from"./chunk-2GKIF7A6.js";import{a as So,b as To}from"./chunk-OWEQT2HN.js";import{a as Ro,b as Bo}from"./chunk-E4VNLYO2.js";import{a as ho,b as bo,c as vo}from"./chunk-676AKAGF.js";import{a as lo}from"./chunk-XR677UYD.js";import{a as $o,b as Go,c as wo}from"./chunk-VV7CFMPZ.js";import{a as no,b as so,c as po}from"./chunk-TIPK3SCJ.js";import{a as Mo}from"./chunk-2HNQ2XRY.js";import{a as Vo,b as Ho}from"./chunk-XQHATUKN.js";import{a as jo,b as Eo,c as Fo}from"./chunk-L5SQQFO7.js";import{a as Uo,b as Xo,c as Yo,d as Zo,e as _o,f as or,g as rr,h as er,i as tr,j as nr}from"./chunk-6NCXO5ZP.js";import{a as Oo,b as Po,c as No,d as Ko,e as Wo,f as qo,g as zo,h as Jo,i as Qo}from"./chunk-4AA4FQEM.js";import{a as ko,b as Do,c as Lo}from"./chunk-2UPUC4RK.js";import{a as co,b as ao}from"./chunk-V5G5JECN.js";import{a as v}from"./chunk-2QMI2RRB.js";import{a as _,b as oo,c as ro,e as eo,f as to}from"./chunk-UDXO3KM3.js";import{a as N,b as K,c as W,d as b,e as q,f as z}from"./chunk-PZSHOSOS.js";import{a as P}from"./chunk-3VDLX7ET.js";import{a as J,b as Q,c as U,d as X,e as Y,f as Z}from"./chunk-S4QD5NID.js";import"./chunk-4C666HHU.js";function h(r){let o=r.trim(),e=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(o)?.[1];if(e){let p=e.length===3?[...e].map(u=>u+u).join(""):e;return[0,2,4].map(u=>parseInt(p.slice(u,u+2),16))}let s=/^(rgba?|color)\(\s*(?:srgb\s+)?([^)]+)\)/i.exec(o);if(!s)return;let i=s[2].split(/[\s,/]+/).filter(Boolean).slice(0,3).map(Number);if(!(i.length<3||i.some(isNaN)))return s[1]==="color"?i.map(p=>p*255):i}var F=r=>"#"+r.map(o=>Math.round(Math.min(255,Math.max(0,o))).toString(16).padStart(2,"0")).join(""),t=(r,o,e)=>r.map((s,i)=>s+(o[i]-s)*e),$=r=>(r/=255)<=.04045?r/12.92:((r+.055)/1.055)**2.4,G=r=>.2126*$(r[0])+.7152*$(r[1])+.0722*$(r[2]);function g(r,o){let[e,s]=[G(r),G(o)].sort((i,p)=>p-i);return(e+.05)/(s+.05)}var c=[255,255,255],l=[0,0,0];function x(r,o,e){if(g(r,o)>=e)return r;let s=G(o)>.4?l:c;for(let i=.04;i<=1;i+=.04){let p=t(r,s,i);if(g(p,o)>=e)return p}return s}var w=r=>g(c,r)>=g(l,r)?c:l;var n=r=>F(r);function A(r,o,e){let s=e?t(o,l,.86):c,i=e?t(o,l,.93):t(o,c,.93),p=e?t(o,l,.8):t(o,c,.96),u=x(e?t(o,c,.9):t(o,l,.8),p,9),d=x(e?t(o,c,.6):t(o,l,.35),i,4.5),m=e?t(o,l,.65):t(o,c,.82),f=x(e?t(o,c,.4):t(o,c,.55),s,3),a=e&&g(r,s)<3?x(r,s,3):r,T=x(r,p,4.5),V=w(a),H=t(a,e?c:l,.14),C=t(s,a,e?.22:.12),y=e?t(o,l,.92):t(o,l,.82),M=x(t(o,c,.85),y,7),R=t(y,r,.4),B=x(r,R,3),j=e?t(o,l,.75):t(o,c,.88),E={"--op-color-bg":n(i),"--op-color-surface":n(s),"--op-color-surface-2":n(p),"--op-color-fg":n(u),"--op-color-fg-muted":n(d),"--op-color-border":n(m),"--op-color-border-strong":n(f),"--op-color-hover":n(t(s,o,e?.18:.1)),"--op-color-selected":n(C),"--op-color-primary":n(a),"--op-color-primary-hover":n(H),"--op-color-primary-fg":n(V),"--op-color-primary-soft":n(C),"--op-color-focus":n(T),"--op-navmenu-bg":n(y),"--op-navmenu-fg":n(M),"--op-navmenu-group-fg":n(x(t(o,c,.55),y,4.5)),"--op-navmenu-item-hover-bg":n(t(y,c,.08)),"--op-navmenu-active-bg":n(R),"--op-navmenu-active-fg":n(x(c,R,7)),"--op-navmenu-active-bar":n(B),"--op-navmenu-badge-bg":n(B),"--op-navmenu-badge-fg":n(w(B)),"--op-grid-header-bg":n(j),"--op-grid-header-fg":n(x(u,j,7))};return g(a,p)<4.5&&(E["--op-color-primary-text"]=n(T)),E}function I(r){let o=h(r.primary);if(!o)throw new Error(`Optikos: seeds.primary must be a hex color, got "${r.primary}"`);let e=h(r.neutral??"#64748b")??[100,116,139];return{light:A(o,e,!1),dark:A(o,e,!0)}}var k=[["--op-color-fg","--op-color-surface",4.5],["--op-color-fg","--op-color-bg",4.5],["--op-color-fg-muted","--op-color-surface",4.5],["--op-color-fg-muted","--op-color-surface-2",4.5],["--op-color-primary-fg","--op-color-primary",4.5],["--op-color-primary-text","--op-color-surface",4.5],["--op-color-danger","--op-color-surface",4.5],["--op-color-success","--op-color-surface",4.5],["--op-color-warning","--op-color-surface",4.5],["--op-navmenu-fg","--op-navmenu-bg",4.5],["--op-navmenu-active-fg","--op-navmenu-active-bg",4.5],["--op-grid-header-fg","--op-grid-header-bg",4.5]];function S(r=document.documentElement,o={}){let e=o.resolve?void 0:r.appendChild(document.createElement("span")),s=o.resolve??(p=>(e.style.color="",e.style.color=`var(${p})`,h(getComputedStyle(e).color))),i=[];for(let[p,u,d]of k){let[m,f]=[s(p),s(u)];if(!m||!f)continue;let a=Math.round(g(m,f)*100)/100;a<d&&i.push({pair:`${p} on ${u}`,ratio:a,min:d})}if(e?.remove(),o.warn??v())for(let p of i)console.warn(`Optikos: low contrast ${p.ratio}:1 (needs ${p.min}:1) \u2014 ${p.pair}`);return i}function D(r,o="custom"){let e=[],s=r.seeds&&I(r.seeds),i=m=>Object.entries(m??{}).map(([f,a])=>` ${f}: ${a};`);for(let m in r){let f=r[m];if(!(f==null||m==="seeds"||m==="fonts"))if(typeof f!="object")e.push(` --op-${b(m)}: ${f};`);else for(let a in f)e.push(` --op-${b(m)}${a==="base"?"":`-${b(a)}`}: ${f[a]};`)}let p=`[data-op-theme~='${o}']`,d=`${(r.fonts??[]).map(m=>`@font-face {
1
+ import{a as it,b as ct}from"./chunk-SA53QUBF.js";import{a as at}from"./chunk-2I4Y7I7C.js";import{a as st}from"./chunk-3TCITFUU.js";import{a as pt}from"./chunk-Q6FY4L2F.js";import{a as mt,b as ft}from"./chunk-J2TCHWYD.js";import{a as et}from"./chunk-CWIE74NX.js";import{a as tt}from"./chunk-M7HLHGQV.js";import{a as nt}from"./chunk-GNKVLJ5H.js";import{a as Qe}from"./chunk-A36JFIA3.js";import{a as Ue}from"./chunk-RMATRKXV.js";import{a as Xe}from"./chunk-ESCLDVFS.js";import{a as Ye}from"./chunk-BIGL3ZVD.js";import{a as Ze}from"./chunk-NWHH3CYH.js";import{a as ot}from"./chunk-NEVDHDJ4.js";import{a as _e}from"./chunk-6BOM5KZR.js";import"./chunk-YJTUFK4P.js";import{a as rt}from"./chunk-DJUSVBD5.js";import{a as Je}from"./chunk-FNZI6MFG.js";import{a as ze}from"./chunk-6PPRYSLN.js";import{a as qe}from"./chunk-3FK52VQX.js";import{a as He}from"./chunk-XNRZJP4E.js";import{a as Me,b as ke}from"./chunk-TMBGEZSD.js";import{a as De}from"./chunk-GLAY4RJF.js";import{a as Le}from"./chunk-MQ5BYGFY.js";import{a as Oe,b as Pe}from"./chunk-GZIDE5K2.js";import{a as Ne,b as Ke,c as We}from"./chunk-37PYJAA2.js";import{a as Ee}from"./chunk-UUAGMZD2.js";import{a as Fe}from"./chunk-ZLYZFHEN.js";import{a as Ce,b as je}from"./chunk-34KVSA2V.js";import{a as Ae}from"./chunk-HX6TWXTX.js";import{a as Ie}from"./chunk-5G5PHOZJ.js";import"./chunk-DY3ZYMXD.js";import{a as Ve}from"./chunk-GFJRGBQR.js";import{a as he}from"./chunk-5PYJ6FJK.js";import{a as ve}from"./chunk-DLRGB5NY.js";import{a as be}from"./chunk-ZEIE2OCQ.js";import{a as Re}from"./chunk-UL364TLO.js";import{a as Be,b as $e}from"./chunk-M2ZRKHE4.js";import{a as Se}from"./chunk-2CVMT3IW.js";import{a as Ge,b as we}from"./chunk-MGSCSS7X.js";import{a as Te}from"./chunk-CXZKCBQE.js";import{a as v}from"./chunk-2QMI2RRB.js";import{a as le}from"./chunk-HG7OOHGD.js";import{a as xe}from"./chunk-PGVLRMTQ.js";import{a as ue}from"./chunk-3BG75P7T.js";import{a as ge,b as de}from"./chunk-MM2OC66E.js";import{a as ye}from"./chunk-I5A74NMJ.js";import{a as yo}from"./chunk-7Y2GHQRB.js";import{a as xo,b as uo,c as go}from"./chunk-YLFSCQL3.js";import{a as Ao,b as Io}from"./chunk-X2ASKUFD.js";import"./chunk-X6AULZI4.js";import{a as Xr,b as Yr,c as Zr,d as _r,e as oe,f as re,g as ee,h as te,i as ne,j as se}from"./chunk-LLHDEUIA.js";import{a as me,b as fe,c as ie,d as ce,e as ae}from"./chunk-632LUU52.js";import{a as pe}from"./chunk-4OB2IM5L.js";import{a as Ur}from"./chunk-UCWICDYG.js";import{a as Qr}from"./chunk-OADWLPSF.js";import{a as Sr}from"./chunk-ADHKL2GM.js";import{a as zr}from"./chunk-2I7HDIOU.js";import{a as ar}from"./chunk-SEUIIPHS.js";import{a as Rr}from"./chunk-BRGT4O6Q.js";import{a as Nr}from"./chunk-3OA3P37P.js";import{a as Cr}from"./chunk-QOSTS5I3.js";import{a as xr}from"./chunk-TVO3Z2BM.js";import{a as $r}from"./chunk-G26R2F3W.js";import{a as qr}from"./chunk-6TZJO2G2.js";import{a as vr}from"./chunk-S3ILIWSW.js";import{a as Br}from"./chunk-BTGJ3MP4.js";import{a as Tr}from"./chunk-AJN66F32.js";import{a as wr}from"./chunk-L6DOWGBO.js";import{a as Gr}from"./chunk-H25XXQVH.js";import{a as br}from"./chunk-5GCTM37D.js";import{a as hr}from"./chunk-NAUSRVB6.js";import{a as ur}from"./chunk-EO777UIN.js";import{a as Jr}from"./chunk-FSR6BDVO.js";import{a as kr,b as Dr,c as Lr,d as Or,e as Pr}from"./chunk-J5BZAKC6.js";import{a as lr}from"./chunk-T5OGUCY2.js";import{a as yr}from"./chunk-OB3VIRQR.js";import{a as dr}from"./chunk-GEJKFE4X.js";import{a as Mr}from"./chunk-LXWCTCZV.js";import{a as Wr}from"./chunk-JBOKM5YA.js";import{a as Ir}from"./chunk-Z6HZY2YG.js";import{a as Ar}from"./chunk-U25QSLAH.js";import"./chunk-HRW25TMU.js";import{a as Er}from"./chunk-3F4MN2BU.js";import{a as jr}from"./chunk-SEW5OCQF.js";import{a as cr}from"./chunk-LHWY6G6Q.js";import{a as Hr}from"./chunk-MQEALOU3.js";import{a as gr}from"./chunk-6NP4AEV4.js";import{a as Kr}from"./chunk-AQ3RTHG5.js";import{a as Vr}from"./chunk-BCVOUMJJ.js";import{a as Fr}from"./chunk-ESRS5ZQV.js";import{a as pr,b as mr,c as fr,d as ir}from"./chunk-DIOJGTUN.js";import{i as Co}from"./chunk-2GKIF7A6.js";import{a as So,b as To}from"./chunk-OWEQT2HN.js";import{a as mo,b as fo,c as io}from"./chunk-BQEFLPDA.js";import{a as lo}from"./chunk-QVBDBGS4.js";import{a as Ro,b as Bo}from"./chunk-E4VNLYO2.js";import{a as ho,b as bo,c as vo}from"./chunk-676AKAGF.js";import{a as $o,b as Go,c as wo}from"./chunk-VV7CFMPZ.js";import{a as no,b as so,c as po}from"./chunk-TIPK3SCJ.js";import{a as _,b as oo,c as ro,e as eo,f as to}from"./chunk-UDXO3KM3.js";import{a as N,b as K,c as W,d as b,e as q,f as z}from"./chunk-PZSHOSOS.js";import{a as Mo,b as ko}from"./chunk-IODSL7KU.js";import{a as Vo,b as Ho}from"./chunk-XFDNXSU5.js";import{a as jo,b as Eo,c as Fo}from"./chunk-L5SQQFO7.js";import{a as P}from"./chunk-3VDLX7ET.js";import{a as J,b as Q,c as U,d as X,e as Y,f as Z}from"./chunk-S4QD5NID.js";import{a as Xo,b as Yo,c as Zo,d as _o,e as or,f as rr,g as er,h as tr,i as nr,j as sr}from"./chunk-6NCXO5ZP.js";import{a as Po,b as No,c as Ko,d as Wo,e as qo,f as zo,g as Jo,h as Qo,i as Uo}from"./chunk-4AA4FQEM.js";import{a as Do,b as Lo,c as Oo}from"./chunk-2UPUC4RK.js";import{a as co,b as ao}from"./chunk-V5G5JECN.js";import"./chunk-4C666HHU.js";function h(r){let o=r.trim(),e=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(o)?.[1];if(e){let p=e.length===3?[...e].map(x=>x+x).join(""):e;return[0,2,4].map(x=>parseInt(p.slice(x,x+2),16))}let s=/^(rgba?|color)\(\s*(?:srgb\s+)?([^)]+)\)/i.exec(o);if(!s)return;let f=s[2].split(/[\s,/]+/).filter(Boolean).slice(0,3).map(Number);if(!(f.length<3||f.some(isNaN)))return s[1]==="color"?f.map(p=>p*255):f}var F=r=>"#"+r.map(o=>Math.round(Math.min(255,Math.max(0,o))).toString(16).padStart(2,"0")).join(""),t=(r,o,e)=>r.map((s,f)=>s+(o[f]-s)*e),$=r=>(r/=255)<=.04045?r/12.92:((r+.055)/1.055)**2.4,G=r=>.2126*$(r[0])+.7152*$(r[1])+.0722*$(r[2]);function g(r,o){let[e,s]=[G(r),G(o)].sort((f,p)=>p-f);return(e+.05)/(s+.05)}var c=[255,255,255],l=[0,0,0];function u(r,o,e){if(g(r,o)>=e)return r;let s=G(o)>.4?l:c;for(let f=.04;f<=1;f+=.04){let p=t(r,s,f);if(g(p,o)>=e)return p}return s}var w=r=>g(c,r)>=g(l,r)?c:l;var n=r=>F(r);function A(r,o,e){let s=e?t(o,l,.86):c,f=e?t(o,l,.93):t(o,c,.93),p=e?t(o,l,.8):t(o,c,.96),x=u(e?t(o,c,.9):t(o,l,.8),p,9),d=u(e?t(o,c,.6):t(o,l,.35),f,4.5),m=e?t(o,l,.65):t(o,c,.82),i=u(e?t(o,c,.4):t(o,c,.55),s,3),a=e&&g(r,s)<3?u(r,s,3):r,T=u(r,p,4.5),V=w(a),H=t(a,e?c:l,.14),C=t(s,a,e?.22:.12),y=e?t(o,l,.92):t(o,l,.82),M=u(t(o,c,.85),y,7),R=t(y,r,.4),B=u(r,R,3),j=e?t(o,l,.75):t(o,c,.88),E={"--op-color-bg":n(f),"--op-color-surface":n(s),"--op-color-surface-2":n(p),"--op-color-fg":n(x),"--op-color-fg-muted":n(d),"--op-color-border":n(m),"--op-color-border-strong":n(i),"--op-color-hover":n(t(s,o,e?.18:.1)),"--op-color-selected":n(C),"--op-color-primary":n(a),"--op-color-primary-hover":n(H),"--op-color-primary-fg":n(V),"--op-color-primary-soft":n(C),"--op-color-focus":n(T),"--op-navmenu-bg":n(y),"--op-navmenu-fg":n(M),"--op-navmenu-group-fg":n(u(t(o,c,.55),y,4.5)),"--op-navmenu-item-hover-bg":n(t(y,c,.08)),"--op-navmenu-active-bg":n(R),"--op-navmenu-active-fg":n(u(c,R,7)),"--op-navmenu-active-bar":n(B),"--op-navmenu-badge-bg":n(B),"--op-navmenu-badge-fg":n(w(B)),"--op-grid-header-bg":n(j),"--op-grid-header-fg":n(u(x,j,7))};return g(a,p)<4.5&&(E["--op-color-primary-text"]=n(T)),E}function I(r){let o=h(r.primary);if(!o)throw new Error(`Optikos: seeds.primary must be a hex color, got "${r.primary}"`);let e=h(r.neutral??"#64748b")??[100,116,139];return{light:A(o,e,!1),dark:A(o,e,!0)}}var k=[["--op-color-fg","--op-color-surface",4.5],["--op-color-fg","--op-color-bg",4.5],["--op-color-fg-muted","--op-color-surface",4.5],["--op-color-fg-muted","--op-color-surface-2",4.5],["--op-color-primary-fg","--op-color-primary",4.5],["--op-color-primary-text","--op-color-surface",4.5],["--op-color-danger","--op-color-surface",4.5],["--op-color-success","--op-color-surface",4.5],["--op-color-warning","--op-color-surface",4.5],["--op-navmenu-fg","--op-navmenu-bg",4.5],["--op-navmenu-active-fg","--op-navmenu-active-bg",4.5],["--op-grid-header-fg","--op-grid-header-bg",4.5]];function S(r=document.documentElement,o={}){let e=o.resolve?void 0:r.appendChild(document.createElement("span")),s=o.resolve??(p=>(e.style.color="",e.style.color=`var(${p})`,h(getComputedStyle(e).color))),f=[];for(let[p,x,d]of k){let[m,i]=[s(p),s(x)];if(!m||!i)continue;let a=Math.round(g(m,i)*100)/100;a<d&&f.push({pair:`${p} on ${x}`,ratio:a,min:d})}if(e?.remove(),o.warn??v())for(let p of f)console.warn(`Optikos: low contrast ${p.ratio}:1 (needs ${p.min}:1) \u2014 ${p.pair}`);return f}function D(r,o="custom"){let e=[],s=r.seeds&&I(r.seeds),f=m=>Object.entries(m??{}).map(([i,a])=>` ${i}: ${a};`);for(let m in r){let i=r[m];if(!(i==null||m==="seeds"||m==="fonts"))if(typeof i!="object")e.push(` --op-${b(m)}: ${i};`);else for(let a in i)e.push(` --op-${b(m)}${a==="base"?"":`-${b(a)}`}: ${i[a]};`)}let p=`[data-op-theme~='${o}']`,d=`${(r.fonts??[]).map(m=>`@font-face {
2
2
  font-family: '${m.family}';
3
3
  src: url('${m.url}');
4
4
  font-weight: ${m.weight??400};
@@ -7,13 +7,13 @@ import{a as Xe,b as Ye}from"./chunk-EXIADWI7.js";import{a as Ze,b as _e}from"./c
7
7
  }
8
8
  `).join("")}@layer optikos {
9
9
  ${p} {
10
- ${[...i(s?.light),...e].join(`
10
+ ${[...f(s?.light),...e].join(`
11
11
  `)}
12
12
  }
13
13
  ${s?` ${p}[data-op-theme~='dark'] {
14
- ${i(s.dark).join(`
14
+ ${f(s.dark).join(`
15
15
  `)}
16
16
  }
17
17
  `:""}}
18
- `;return{name:o,css:d,fonts:r.fonts??[],inject(){let m=`op-theme-${o}`,f=document.getElementById(m);f||(f=document.createElement("style"),f.id=m,document.head.appendChild(f)),f.textContent=d},apply(m=document.documentElement){this.inject();let f=new Set((m.getAttribute("data-op-theme")??"").split(/\s+/).filter(Boolean));f.add(o),m.setAttribute("data-op-theme",[...f].join(" ")),v()&&requestAnimationFrame(()=>S(m))}}}function L(r,o=document.documentElement){o.setAttribute("data-op-theme",Array.isArray(r)?r.join(" "):r)}async function O(r){await Promise.all(r.map(async o=>{let e=new FontFace(o.family,`url('${o.url}')`,{weight:String(o.weight??400),style:o.style??"normal",display:o.display??"swap"});document.fonts.add(await e.load())}))}export{se as Avatar,pe as Badge,ze as Breadcrumb,Er as Button,gr as Calendar,Ke as Carousel,le as Chart,xe as Chat,br as Checkbox,Rr as CheckboxGroup,me as Chip,fe as CodeViewer,Sr as ComboBox,Ue as CommandPalette,to as Component,fo as Container,ko as DEFAULTS,ye as DataView,dr as DateField,hr as DateRangeField,yr as DateTimeField,zr as Dial,Yr as Direction,xr as Dropdown,P as Emitter,lo as Field,He as FieldGroup,Me as FieldList,We as FieldSet,he as FilterBuilder,Jr as Form,ke as FormActions,De as FormErrors,Le as FormSection,Hr as Grid,ir as Icon,ce as Image,ae as ImageCanvas,Ve as ImageField,Oe as InputGroup,Nr as Label,Xr as LabelPos,oe as LayoutKind,$r as ListBox,Pr as LookupField,lr as MaskField,Ao as MemoryProxy,Vr as Menu,Kr as MessageBox,jo as Model,Je as NavMenu,ar as NumberField,te as Op,Ir as Pagination,Fr as Panel,Gr as PickerField,Br as RadioGroup,Zr as Region,Io as RestProxy,Or as SearchGrid,Wr as SecretField,wr as Select,re as Selection,_r as Side,qr as Slider,Cr as Spacer,Ie as Spinner,ue as Stat,Ne as StepForm,Pe as Stepper,Fo as Store,Tr as SuggestField,we as Table,Qe as Tabs,cr as TextArea,fr as TextField,ne as ThemeName,ur as TimeField,Se as Timeline,Ze as Toast,ee as ToastType,vr as Toggle,jr as Toolbar,ot as Tooltip,Te as Tree,Ur as Variant,Ae as ViewManager,qe as Viewport,et as Widget,Ar as Window,Y as addMessages,ro as allowed,Uo as arcPoints,rt as attachTooltip,N as attr,Mo as cellContent,de as cellEditing,S as checkContrast,z as clamp,po as create,io as createLayout,Co as date,D as defineTheme,or as dragKnob,ge as editorConfig,Jo as enter,Qo as exit,be as exportGrid,Mr as filterInfo,Ce as flattenTree,$o as focusables,Ho as format,Xe as formatKeys,eo as gate,X as getLocale,co as getPath,so as getType,$e as grouping,K as h,pr as hasIcon,mr as iconEl,Do as isBouncy,b as kebab,_o as knobStretch,ho as layer,nr as layoutId,O as loadFonts,xo as loadState,Ee as localViewStorage,J as locales,vo as lockModal,Lr as lookupStore,Eo as matchFilter,To as measure,Lo as motion,Xo as moveArc,Oo as originFor,Re as persistState,Ro as place,Po as popIn,No as popOut,ve as printGrid,zo as pulse,q as px,no as register,Vo as registerFormat,sr as registerIcons,mo as registerLayout,kr as registerLookup,Dr as resolveLookup,Fe as restViewStorage,er as reveal,wo as roving,Ge as rowEditing,Yo as rubberBand,Zo as rubberScroll,go as saveState,U as setCurrency,Q as setLocale,ao as setPath,oo as setPermissionMode,_ as setPermissionResolver,uo as setStateStorage,L as setTheme,Ye as shortcuts,Wo as stagger,Ko as staggerDelay,qo as staggerDetails,Be as summarize,rr as swap,Z as t,bo as toLayer,_e as toast,ie as tokenize,Bo as track,Go as trapFocus,je as treeGrid,Qr as ui,W as uid,yo as validators,So as virtualize,tr as wipeColor};
18
+ `;return{name:o,css:d,fonts:r.fonts??[],inject(){let m=`op-theme-${o}`,i=document.getElementById(m);i||(i=document.createElement("style"),i.id=m,document.head.appendChild(i)),i.textContent=d},apply(m=document.documentElement){this.inject();let i=new Set((m.getAttribute("data-op-theme")??"").split(/\s+/).filter(Boolean));i.add(o),m.setAttribute("data-op-theme",[...i].join(" ")),v()&&requestAnimationFrame(()=>S(m))}}}function L(r,o=document.documentElement){o.setAttribute("data-op-theme",Array.isArray(r)?r.join(" "):r)}async function O(r){await Promise.all(r.map(async o=>{let e=new FontFace(o.family,`url('${o.url}')`,{weight:String(o.weight??400),style:o.style??"normal",display:o.display??"swap"});document.fonts.add(await e.load())}))}export{le as Avatar,xe as Badge,tt as Breadcrumb,Fr as Button,dr as Calendar,rt as Carousel,be as Chart,Re as Chat,vr as Checkbox,Br as CheckboxGroup,ue as Chip,de as CodeViewer,Tr as ComboBox,pt as CommandPalette,to as Component,io as Container,Do as DEFAULTS,Te as DataView,yr as DateField,br as DateRangeField,hr as DateTimeField,Jr as Dial,Zr as Direction,gr as Dropdown,P as Emitter,lo as Field,Je as FieldGroup,Qe as FieldList,pe as FieldSet,Fe as FilterBuilder,Qr as Form,Ue as FormActions,Xe as FormErrors,Ye as FormSection,Mr as Grid,ir as Icon,ye as Image,he as ImageCanvas,ze as ImageField,Ze as InputGroup,Kr as Label,Yr as LabelPos,re as LayoutKind,Gr as ListBox,Nr as LookupField,xr as MaskField,Ao as MemoryProxy,Hr as Menu,Wr as MessageBox,jo as Model,nt as NavMenu,lr as NumberField,ne as Op,Vr as Pagination,Ar as Panel,wr as PickerField,$r as RadioGroup,_r as Region,Io as RestProxy,Pr as SearchGrid,qr as SecretField,Sr as Select,ee as Selection,oe as Side,zr as Slider,jr as Spacer,qe as Spinner,ve as Stat,ot as StepForm,_e as Stepper,Fo as Store,Cr as SuggestField,He as Table,st as Tabs,ar as TextArea,cr as TextField,se as ThemeName,ur as TimeField,De as Timeline,Ge as Toast,te as ToastType,Rr as Toggle,Er as Toolbar,it as Tooltip,Le as Tree,Xr as Variant,We as ViewManager,et as Viewport,at as Widget,Ir as Window,Y as addMessages,ro as allowed,Xo as arcPoints,ct as attachTooltip,N as attr,me as buildColumns,fe as buildFields,ie as buildFilterFields,ae as buildForm,ce as buildGrid,Mo as cellContent,$e as cellEditing,S as checkContrast,z as clamp,Se as columnTotals,po as create,fo as createLayout,Co as date,D as defineTheme,rr as dragKnob,Be as editorConfig,Qo as enter,Uo as exit,Ee as exportBar,Ce as exportGrid,kr as filterInfo,Oe as flattenTree,$o as focusables,Ho as format,Me as formatDuration,mt as formatKeys,eo as gate,X as getLocale,co as getPath,so as getType,Ie as grouping,K as h,mr as hasIcon,fr as iconEl,Lo as isBouncy,b as kebab,or as knobStretch,ho as layer,sr as layoutId,O as loadFonts,uo as loadState,Ne as localViewStorage,J as locales,vo as lockModal,Or as lookupStore,Eo as matchFilter,To as measure,Oo as motion,Yo as moveArc,Po as originFor,Ae as persistState,Ro as place,No as popIn,Ko as popOut,je as printGrid,Jo as pulse,q as px,no as register,Vo as registerFormat,pr as registerIcons,mo as registerLayout,Dr as registerLookup,Lr as resolveLookup,Ke as restViewStorage,tr as reveal,wo as roving,Ve as rowEditing,Zo as rubberBand,_o as rubberScroll,go as saveState,U as setCurrency,Q as setLocale,ao as setPath,oo as setPermissionMode,_ as setPermissionResolver,xo as setStateStorage,L as setTheme,ft as shortcuts,qo as stagger,Wo as staggerDelay,zo as staggerDetails,ko as summarize,er as swap,Z as t,ke as timeEntry,bo as toLayer,we as toast,ge as tokenize,Bo as track,Go as trapFocus,Pe as treeGrid,Ur as ui,W as uid,yo as validators,So as virtualize,nr as wipeColor};
19
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/themes/color.ts", "../src/themes/seeds.ts", "../src/themes/contrast.ts", "../src/themes/define.ts"],
4
4
  "sourcesContent": ["export type RGB = [number, number, number];\n\nexport function parse(css: string): RGB | undefined {\n const s = css.trim();\n const hex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(s)?.[1];\n if (hex) {\n const f = hex.length === 3 ? [...hex].map((c) => c + c).join('') : hex;\n return [0, 2, 4].map((i) => parseInt(f.slice(i, i + 2), 16)) as RGB;\n }\n // what getComputedStyle returns: rgb(1, 2, 3), rgb(1 2 3 / 1) or color(srgb 0.1 0.2 0.3)\n const fn = /^(rgba?|color)\\(\\s*(?:srgb\\s+)?([^)]+)\\)/i.exec(s);\n if (!fn) return undefined;\n const n = fn[2].split(/[\\s,/]+/).filter(Boolean).slice(0, 3).map(Number);\n if (n.length < 3 || n.some(isNaN)) return undefined;\n return (fn[1] === 'color' ? n.map((v) => v * 255) : n) as RGB;\n}\n\nexport const toHex = (c: RGB): string => '#' + c.map((v) => Math.round(Math.min(255, Math.max(0, v))).toString(16).padStart(2, '0')).join('');\n\n/** `t` of `b` over `a` (0 = a, 1 = b), in sRGB. */\nexport const mix = (a: RGB, b: RGB, t: number): RGB => a.map((v, i) => v + (b[i] - v) * t) as RGB;\n\nconst lin = (v: number) => ((v /= 255) <= 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4);\nexport const luminance = (c: RGB): number => 0.2126 * lin(c[0]) + 0.7152 * lin(c[1]) + 0.0722 * lin(c[2]);\n\n/** WCAG contrast ratio, 1 to 21. */\nexport function contrast(a: RGB, b: RGB): number {\n const [hi, lo] = [luminance(a), luminance(b)].sort((x, y) => y - x);\n return (hi + 0.05) / (lo + 0.05);\n}\n\nexport const WHITE: RGB = [255, 255, 255];\nexport const BLACK: RGB = [0, 0, 0];\n\n/** Moves `c` toward black or white (whichever reaches it) until it has `min` contrast against `bg`. */\nexport function ensure(c: RGB, bg: RGB, min: number): RGB {\n if (contrast(c, bg) >= min) return c;\n const toward = luminance(bg) > 0.4 ? BLACK : WHITE;\n for (let t = 0.04; t <= 1; t += 0.04) {\n const m = mix(c, toward, t);\n if (contrast(m, bg) >= min) return m;\n }\n return toward;\n}\n\n/** Black or white, whichever reads better on `bg`. */\nexport const readableOn = (bg: RGB): RGB => (contrast(WHITE, bg) >= contrast(BLACK, bg) ? WHITE : BLACK);\n", "import { parse, toHex, mix, ensure, readableOn, contrast, WHITE, BLACK, type RGB } from './color';\n\nexport interface Seeds {\n /** The brand color. Used as is for fills; text uses a shade of it that keeps 4.5:1. */\n primary: string;\n /** Tints the grays (backgrounds, borders, text). Default: a cool gray. */\n neutral?: string;\n}\n\nconst hex = (c: RGB) => toHex(c);\n\nfunction one(seed: RGB, neutral: RGB, dark: boolean): Record<string, string> {\n const surface = dark ? mix(neutral, BLACK, 0.86) : WHITE;\n const bg = dark ? mix(neutral, BLACK, 0.93) : mix(neutral, WHITE, 0.93);\n const surface2 = dark ? mix(neutral, BLACK, 0.8) : mix(neutral, WHITE, 0.96);\n const fg = ensure(dark ? mix(neutral, WHITE, 0.9) : mix(neutral, BLACK, 0.8), surface2, 9);\n const muted = ensure(dark ? mix(neutral, WHITE, 0.6) : mix(neutral, BLACK, 0.35), bg, 4.5);\n const border = dark ? mix(neutral, BLACK, 0.65) : mix(neutral, WHITE, 0.82);\n const strong = ensure(dark ? mix(neutral, WHITE, 0.4) : mix(neutral, WHITE, 0.55), surface, 3);\n const fill = dark && contrast(seed, surface) < 3 ? ensure(seed, surface, 3) : seed;\n const text = ensure(seed, surface2, 4.5);\n const on = readableOn(fill);\n const hover = mix(fill, dark ? WHITE : BLACK, 0.14);\n const soft = mix(surface, fill, dark ? 0.22 : 0.12);\n const nav = dark ? mix(neutral, BLACK, 0.92) : mix(neutral, BLACK, 0.82);\n const navFg = ensure(mix(neutral, WHITE, 0.85), nav, 7);\n const navActive = mix(nav, seed, 0.4);\n const bar = ensure(seed, navActive, 3);\n const head = dark ? mix(neutral, BLACK, 0.75) : mix(neutral, WHITE, 0.88);\n const out: Record<string, string> = {\n '--op-color-bg': hex(bg),\n '--op-color-surface': hex(surface),\n '--op-color-surface-2': hex(surface2),\n '--op-color-fg': hex(fg),\n '--op-color-fg-muted': hex(muted),\n '--op-color-border': hex(border),\n '--op-color-border-strong': hex(strong),\n '--op-color-hover': hex(mix(surface, neutral, dark ? 0.18 : 0.1)),\n '--op-color-selected': hex(soft),\n '--op-color-primary': hex(fill),\n '--op-color-primary-hover': hex(hover),\n '--op-color-primary-fg': hex(on),\n '--op-color-primary-soft': hex(soft),\n '--op-color-focus': hex(text),\n '--op-navmenu-bg': hex(nav),\n '--op-navmenu-fg': hex(navFg),\n '--op-navmenu-group-fg': hex(ensure(mix(neutral, WHITE, 0.55), nav, 4.5)),\n '--op-navmenu-item-hover-bg': hex(mix(nav, WHITE, 0.08)),\n '--op-navmenu-active-bg': hex(navActive),\n '--op-navmenu-active-fg': hex(ensure(WHITE, navActive, 7)),\n '--op-navmenu-active-bar': hex(bar),\n '--op-navmenu-badge-bg': hex(bar),\n '--op-navmenu-badge-fg': hex(readableOn(bar)),\n '--op-grid-header-bg': hex(head),\n '--op-grid-header-fg': hex(ensure(fg, head, 7)),\n };\n // only a brand whose color fails as text needs a separate text token\n if (contrast(fill, surface2) < 4.5) out['--op-color-primary-text'] = hex(text);\n return out;\n}\n\n/** Light and dark token sets from a few seeds, with the text pairs kept at 4.5:1 or better. */\nexport function fromSeeds(seeds: Seeds): { light: Record<string, string>; dark: Record<string, string> } {\n const primary = parse(seeds.primary);\n if (!primary) throw new Error(`Optikos: seeds.primary must be a hex color, got \"${seeds.primary}\"`);\n const neutral = parse(seeds.neutral ?? '#64748b') ?? [100, 116, 139];\n return { light: one(primary, neutral, false), dark: one(primary, neutral, true) };\n}\n", "import { isDev } from '../core/dev';\nimport { parse, contrast, type RGB } from './color';\n\nexport interface ContrastIssue {\n /** The pair, as the tokens that make it (`--op-color-fg on --op-color-surface`). */\n pair: string;\n ratio: number;\n min: number;\n}\n\n// [text token, background token, minimum]: the pairs a theme most often gets wrong\nconst PAIRS: Array<[string, string, number]> = [\n ['--op-color-fg', '--op-color-surface', 4.5],\n ['--op-color-fg', '--op-color-bg', 4.5],\n ['--op-color-fg-muted', '--op-color-surface', 4.5],\n ['--op-color-fg-muted', '--op-color-surface-2', 4.5],\n ['--op-color-primary-fg', '--op-color-primary', 4.5],\n ['--op-color-primary-text', '--op-color-surface', 4.5],\n ['--op-color-danger', '--op-color-surface', 4.5],\n ['--op-color-success', '--op-color-surface', 4.5],\n ['--op-color-warning', '--op-color-surface', 4.5],\n ['--op-navmenu-fg', '--op-navmenu-bg', 4.5],\n ['--op-navmenu-active-fg', '--op-navmenu-active-bg', 4.5],\n ['--op-grid-header-fg', '--op-grid-header-bg', 4.5],\n];\n\n/**\n * Checks the theme in effect on `el` (default `<html>`) for text pairs under 4.5:1 and returns them.\n * A pair whose token is not set is skipped. `warn` (default: in dev) also prints each to the console.\n */\nexport function checkContrast(el: HTMLElement = document.documentElement, o: { warn?: boolean; resolve?: (token: string) => RGB | undefined } = {}): ContrastIssue[] {\n // a probe element lets the browser resolve `var()` chains and `color-mix()` to a plain color\n const probe = o.resolve ? undefined : el.appendChild(document.createElement('span'));\n const resolve =\n o.resolve ??\n ((token: string) => {\n probe!.style.color = '';\n probe!.style.color = `var(${token})`;\n return parse(getComputedStyle(probe!).color);\n });\n const issues: ContrastIssue[] = [];\n for (const [fg, bg, min] of PAIRS) {\n const [a, b] = [resolve(fg), resolve(bg)];\n if (!a || !b) continue;\n const ratio = Math.round(contrast(a, b) * 100) / 100;\n if (ratio < min) issues.push({ pair: `${fg} on ${bg}`, ratio, min });\n }\n probe?.remove();\n if (o.warn ?? isDev()) for (const i of issues) console.warn(`Optikos: low contrast ${i.ratio}:1 (needs ${i.min}:1) \u2014 ${i.pair}`);\n return issues;\n}\n", "import { kebab } from '../core/dom';\nimport { isDev } from '../core/dev';\nimport { fromSeeds, type Seeds } from './seeds';\nimport { checkContrast } from './contrast';\n\ntype Values = Record<string, string | number | undefined>;\ntype ColorToken = 'bg' | 'surface' | 'surface-2' | 'fg' | 'fg-muted' | 'border' | 'border-strong' | 'hover' | 'selected' | 'primary' | 'primary-hover' | 'primary-fg' | 'primary-soft' | 'danger' | 'danger-hover' | 'danger-fg' | 'danger-soft' | 'success' | 'success-soft' | 'warning' | 'warning-soft' | 'info' | 'info-soft' | 'focus' | 'overlay';\n\nexport interface FontSpec {\n family: string;\n /** URL of the file (woff2 is enough for every current browser). */\n url: string;\n /** A weight or a range (`'400 700'` for a variable font). Default `400`. */\n weight?: string | number;\n style?: 'normal' | 'italic';\n /** Default `swap`. */\n display?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n}\n\nexport interface ThemeDefinition {\n /**\n * A few brand colors in, a whole theme out: light under `name`, and dark under `name` + `dark` (`data-op-theme=\"name dark\"`).\n * Text pairs are kept at 4.5:1; navmenu and grid header colors come with it. Tokens you also give win.\n */\n seeds?: Seeds;\n /** `@font-face` rules, so the font ships with the theme (a white-label tenant brings its own). Set the family with `font: { family }`. */\n fonts?: FontSpec[];\n /** Semantic colors: `{ primary: '#06f' }` \u2192 `--op-color-primary`. camelCase keys are kebab-cased. */\n color?: Partial<Record<ColorToken | string, string>>;\n font?: Values;\n space?: Values;\n /** `radius: '0.5rem'` sets `--op-radius`; `radius: { sm, lg, pill }` sets `--op-radius-sm`...; `radius: { base: '0.5rem', sm: '0.25rem' }` sets both. */\n radius?: Values | string | number;\n shadow?: Values;\n control?: Values;\n /** Any other key is a component scope: `{ button: { radius: 0 } }` \u2192 `--op-button-radius`. A plain value, or the key `base`, sets the group's own token (`{ radius: 0 }` or `{ radius: { base: 0, sm: 2 } }` \u2192 `--op-radius`). */\n [group: string]: Values | string | number | Seeds | FontSpec[] | undefined;\n}\n\nexport interface Theme {\n name: string;\n /** CSS text, scoped to `[data-op-theme~=\"name\"]`, inside `@layer optikos`. */\n css: string;\n /** The fonts the theme declared, for `loadFonts`. */\n fonts: FontSpec[];\n /** Injects the CSS once without activating it (e.g. to offer it in a theme picker). */\n inject(): void;\n /** Injects the CSS and activates the theme on `el` (default: `<html>`), keeping other themes (`\"dark custom\"`). */\n apply(el?: HTMLElement): void;\n}\n\n/**\n * Typed, proprietary theme format. Produces the same custom properties a hand-written CSS theme would.\n * Numbers are emitted unitless; write units as strings (`'4px'`).\n */\nexport function defineTheme(def: ThemeDefinition, name = 'custom'): Theme {\n const lines: string[] = [];\n const seeded = def.seeds && fromSeeds(def.seeds);\n const own = (m?: Record<string, string>) => Object.entries(m ?? {}).map(([k, v]) => ` ${k}: ${v};`);\n for (const group in def) {\n const values = def[group] as Values | string | number | undefined;\n if (values == null || group === 'seeds' || group === 'fonts') continue;\n if (typeof values !== 'object') lines.push(` --op-${kebab(group)}: ${values};`);\n else for (const key in values) lines.push(` --op-${kebab(group)}${key === 'base' ? '' : `-${kebab(key)}`}: ${values[key]};`);\n }\n const scope = `[data-op-theme~='${name}']`;\n const faces = (def.fonts ?? []).map((f) => `@font-face {\\n font-family: '${f.family}';\\n src: url('${f.url}');\\n font-weight: ${f.weight ?? 400};\\n font-style: ${f.style ?? 'normal'};\\n font-display: ${f.display ?? 'swap'};\\n}\\n`);\n // seeds first, so what the definition sets itself wins; the dark set has the higher specificity of two attributes\n const css = `${faces.join('')}@layer optikos {\\n ${scope} {\\n${[...own(seeded?.light), ...lines].join('\\n')}\\n }\\n${seeded ? ` ${scope}[data-op-theme~='dark'] {\\n${own(seeded.dark).join('\\n')}\\n }\\n` : ''}}\\n`;\n return {\n name,\n css,\n fonts: def.fonts ?? [],\n inject() {\n const id = `op-theme-${name}`;\n let style = document.getElementById(id);\n if (!style) {\n style = document.createElement('style');\n style.id = id;\n document.head.appendChild(style);\n }\n style.textContent = css;\n },\n apply(el = document.documentElement) {\n this.inject();\n const names = new Set((el.getAttribute('data-op-theme') ?? '').split(/\\s+/).filter(Boolean));\n names.add(name);\n el.setAttribute('data-op-theme', [...names].join(' '));\n // in dev, text pairs under 4.5:1 are printed once the styles took effect\n if (isDev()) requestAnimationFrame(() => checkContrast(el));\n },\n };\n}\n\n/** Activates themes on an element (default `<html>`): `setTheme('dark compact')` or `setTheme(['dark', 'custom'])`. */\nexport function setTheme(names: string | string[], el: HTMLElement = document.documentElement): void {\n el.setAttribute('data-op-theme', Array.isArray(names) ? names.join(' ') : names);\n}\n\n/** Loads the fonts of a theme now (and resolves when they are ready), so the first paint does not flash the fallback. */\nexport async function loadFonts(fonts: FontSpec[]): Promise<void> {\n await Promise.all(\n fonts.map(async (f) => {\n const face = new FontFace(f.family, `url('${f.url}')`, { weight: String(f.weight ?? 400), style: f.style ?? 'normal', display: f.display ?? 'swap' });\n document.fonts.add(await face.load());\n }),\n );\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["parse", "css", "s", "hex", "f", "c", "i", "fn", "n", "v", "toHex", "mix", "a", "b", "t", "lin", "luminance", "contrast", "hi", "lo", "x", "y", "WHITE", "BLACK", "ensure", "bg", "min", "toward", "m", "readableOn", "hex", "c", "toHex", "one", "seed", "neutral", "dark", "surface", "mix", "BLACK", "WHITE", "bg", "surface2", "fg", "ensure", "muted", "border", "strong", "fill", "contrast", "text", "on", "readableOn", "hover", "soft", "nav", "navFg", "navActive", "bar", "head", "out", "fromSeeds", "seeds", "primary", "parse", "PAIRS", "checkContrast", "el", "probe", "resolve", "token", "parse", "issues", "fg", "bg", "min", "a", "b", "ratio", "contrast", "isDev", "i", "defineTheme", "def", "name", "lines", "seeded", "fromSeeds", "own", "k", "v", "group", "values", "kebab", "key", "scope", "css", "f", "id", "style", "el", "names", "isDev", "checkContrast", "setTheme", "loadFonts", "fonts", "face"]
7
7
  }