@inkandswitch/patchwork-pkg-base 0.0.101 → 0.0.103

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 (94) hide show
  1. package/module-settings-url +1 -1
  2. package/package.json +1 -1
  3. package/packages/account/dist/{AccountPicker-A2PAS5CG.js → AccountPicker-DCX77HQI.js} +7 -3
  4. package/packages/account/dist/AccountPicker-DCX77HQI.js.map +7 -0
  5. package/packages/account/dist/index.css +70 -34
  6. package/packages/account/dist/index.css.map +2 -2
  7. package/packages/account/dist/index.js +1 -1
  8. package/packages/account-history/dist/assets/HistoryRecorder-_3PrVW6n.js +1 -1
  9. package/packages/account-history/dist/assets/HistoryViewer-BmG0rAfK.js +1 -1
  10. package/packages/account-history/dist/assets/NotebookViewer-DZ_ZQU5x.js +37 -37
  11. package/packages/add-doc-to-sidebar-button/styles.css +2 -2
  12. package/packages/chat/dist/{ChatRoot-BYmq4SXi.js → ChatRoot-1d-658Rr.js} +2 -2
  13. package/packages/chat/dist/{context-tool-Bob-FZ_T.js → context-tool-iP64Oz6H.js} +2 -2
  14. package/packages/chat/dist/{index-wkaHcVCz.js → index-Dm_2jZcu.js} +3 -3
  15. package/packages/chat/dist/index.js +2 -2
  16. package/packages/chat/dist/{tool-DCOdh_fx.js → tool-BmNd5mrj.js} +1 -1
  17. package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js → chunk-A2WBDY3J.js} +5 -5
  18. package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js.map → chunk-A2WBDY3J.js.map} +1 -1
  19. package/packages/codemirror-base/dist/lib/codemirror.js +1 -1
  20. package/packages/codemirror-base/dist/tool.js +3 -3
  21. package/packages/codemirror-base/dist/tool.js.map +1 -1
  22. package/packages/codemirror-markdown/dist/extensions/embed.js +1 -1
  23. package/packages/codemirror-markdown/dist/extensions/embed.js.map +1 -1
  24. package/packages/codemirror-markdown/dist/extensions/links.js +1 -1
  25. package/packages/codemirror-markdown/dist/extensions/links.js.map +1 -1
  26. package/packages/codemirror-markdown/dist/extensions/markdown.js +6 -6
  27. package/packages/codemirror-markdown/dist/extensions/markdown.js.map +1 -1
  28. package/packages/commands/dist/main.js +1 -1
  29. package/packages/commands/dist/main.js.map +1 -1
  30. package/packages/comments-view/dist/assets/main-wSSvAVfi.js +1 -1
  31. package/packages/doc-openwith/doc-openwith.js +5 -5
  32. package/packages/doc-presence/doc-presence.js +1 -1
  33. package/packages/drafts/dist/assets/main-CG9HOCai.js +31 -31
  34. package/packages/embed/dist/assets/tool-D58NGTZ7.js +1 -1
  35. package/packages/file/dist/index.js +2 -2
  36. package/packages/file/dist/{new-file-tool-DGKllnzw.js → new-file-tool-BolBDUrL.js} +27 -27
  37. package/packages/file/dist/new-file-tool-BolBDUrL.js.map +1 -0
  38. package/packages/file/dist/{tool-UKWDK93W.js → tool-Bt8I8T2-.js} +4 -4
  39. package/packages/file/dist/tool-Bt8I8T2-.js.map +1 -0
  40. package/packages/file/dist/{typescript-language-server-BgBx0vSF.js → typescript-language-server-Db4173Y5.js} +2 -2
  41. package/packages/file/dist/{typescript-language-server-BgBx0vSF.js.map → typescript-language-server-Db4173Y5.js.map} +1 -1
  42. package/packages/folder/dist/index.js +1 -1
  43. package/packages/folder/dist/{tool-WAWTPB4A.js → tool-5E3YPGES.js} +2 -2
  44. package/packages/folder/dist/{tool-WAWTPB4A.js.map → tool-5E3YPGES.js.map} +1 -1
  45. package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js → HistoryTimeline-Bo-BTf2A.js} +6 -6
  46. package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js.map → HistoryTimeline-Bo-BTf2A.js.map} +1 -1
  47. package/packages/history-view/dist/assets/{index-C1gYt7m5.js → index-B5Afrk9Y.js} +2 -2
  48. package/packages/history-view/dist/assets/{index-C1gYt7m5.js.map → index-B5Afrk9Y.js.map} +1 -1
  49. package/packages/history-view/dist/index.js +1 -1
  50. package/packages/llm-host/dist/{LlmConfigTray-DdZHZT4F.js → LlmConfigTray-CjW04jeT.js} +108 -108
  51. package/packages/llm-host/dist/index.js +1 -1
  52. package/packages/packages/dist/index.js +46 -46
  53. package/packages/raw/raw-editor.js +22 -22
  54. package/packages/settings/dist/assets/FrameConfigurator-DVRBzIR-.js +1 -1
  55. package/packages/sideboard/dist/index.css +1 -1
  56. package/packages/sideboard/dist/index.css.map +2 -2
  57. package/packages/sideboard/dist/index.js +1 -1
  58. package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js → SyncIndicator-oVMcVRXg.js} +3 -3
  59. package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js.map → SyncIndicator-oVMcVRXg.js.map} +1 -1
  60. package/packages/sync-indicator/dist/index.js +1 -1
  61. package/packages/tasks/dist/assets/index-BbuRtBN3.js +1 -1
  62. package/packages/theming/dist/{active-theme-BMSIQXBV.js → active-theme-CC3CS64F.js} +2 -2
  63. package/packages/theming/dist/{chunk-Z3JB7ERH.js → chunk-DH4YUYFJ.js} +2 -2
  64. package/packages/theming/dist/chunk-VJZ4NPK4.js +136 -0
  65. package/packages/theming/dist/chunk-VJZ4NPK4.js.map +7 -0
  66. package/packages/theming/dist/main.js +4 -4
  67. package/packages/theming/dist/{theme-7OG2K56L.css → theme-HE7ECLIW.css} +212 -58
  68. package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js → theme-editor-datatype-TJ6LYT2U.js} +2 -2
  69. package/packages/theming/dist/theme-editor.js +35 -25
  70. package/packages/theming/dist/theme-editor.js.map +2 -2
  71. package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js → theme-titlebar-BO2Y2GRN.js} +2 -2
  72. package/packages/theming/dist/{theme-tray-7J247NRY.js → theme-tray-V6BEXQWR.js} +15 -15
  73. package/packages/theming/dist/theme-tray-V6BEXQWR.js.map +7 -0
  74. package/packages/theming/dist/tool.js +9 -9
  75. package/packages/theming/dist/tool.js.map +1 -1
  76. package/packages/threepane/dist/IsolatedDocumentArea-IZWZ74TV.js +2 -0
  77. package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js → PatchworkFrame-UNWWAISP.js} +2 -2
  78. package/packages/threepane/dist/{chunk-YC5AHP5G.js → chunk-MSZ7JVNB.js} +31 -31
  79. package/packages/threepane/dist/{chunk-YC5AHP5G.js.map → chunk-MSZ7JVNB.js.map} +3 -3
  80. package/packages/threepane/dist/index.js +1 -1
  81. package/plugin-registry-url +1 -1
  82. package/packages/account/dist/AccountPicker-A2PAS5CG.js.map +0 -7
  83. package/packages/file/dist/new-file-tool-DGKllnzw.js.map +0 -1
  84. package/packages/file/dist/tool-UKWDK93W.js.map +0 -1
  85. package/packages/theming/dist/chunk-GIPQLUDU.js +0 -86
  86. package/packages/theming/dist/chunk-GIPQLUDU.js.map +0 -7
  87. package/packages/theming/dist/theme-tray-7J247NRY.js.map +0 -7
  88. package/packages/threepane/dist/IsolatedDocumentArea-G3V7KYHJ.js +0 -2
  89. /package/packages/theming/dist/{active-theme-BMSIQXBV.js.map → active-theme-CC3CS64F.js.map} +0 -0
  90. /package/packages/theming/dist/{chunk-Z3JB7ERH.js.map → chunk-DH4YUYFJ.js.map} +0 -0
  91. /package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js.map → theme-editor-datatype-TJ6LYT2U.js.map} +0 -0
  92. /package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js.map → theme-titlebar-BO2Y2GRN.js.map} +0 -0
  93. /package/packages/threepane/dist/{IsolatedDocumentArea-G3V7KYHJ.js.map → IsolatedDocumentArea-IZWZ74TV.js.map} +0 -0
  94. /package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js.map → PatchworkFrame-UNWWAISP.js.map} +0 -0
@@ -139,7 +139,7 @@
139
139
  gap: 0.625rem;
140
140
  padding: 0.875rem 1rem 0;
141
141
  background: color-mix(in oklch, var(--pw-packages-fill), transparent 4%);
142
- backdrop-filter: blur(6px);
142
+ backdrop-filter: var(--studio-backdrop-blur, blur(6px));
143
143
  }
144
144
 
145
145
  /* Row 1: filter (left) + a quiet summary pinned top-right. */
@@ -153,7 +153,7 @@
153
153
  flex: 1;
154
154
  min-width: 12rem;
155
155
  height: var(--pw-ctl-h);
156
- border: 1px solid var(--pw-packages-border-strong);
156
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
157
157
  border-radius: var(--studio-radius-md, 8px);
158
158
  background: var(--pw-packages-fill);
159
159
  color: var(--pw-packages-line);
@@ -167,8 +167,8 @@
167
167
  .pw-packages__search:focus,
168
168
  .pw-packages__origin-chip:focus-visible,
169
169
  .pw-packages__tab:focus-visible {
170
- outline: 2px solid var(--pw-packages-focus);
171
- outline-offset: 1px;
170
+ outline: var(--studio-focus-ring, 2px solid var(--pw-packages-focus));
171
+ outline-offset: var(--studio-focus-ring-offset, 1px);
172
172
  }
173
173
  .pw-packages__stats {
174
174
  display: flex;
@@ -197,7 +197,7 @@
197
197
  flex-wrap: wrap;
198
198
  margin: 0.15rem -1rem 0;
199
199
  padding: 0 0.6rem;
200
- border-bottom: 1px solid var(--pw-packages-border);
200
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
201
201
  }
202
202
  .pw-packages__tabs {
203
203
  display: flex;
@@ -206,7 +206,7 @@
206
206
  }
207
207
  .pw-packages__tab {
208
208
  appearance: none;
209
- border: 1px solid transparent;
209
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) transparent;
210
210
  border-bottom: 0;
211
211
  background: transparent;
212
212
  color: var(--pw-packages-muted);
@@ -214,7 +214,7 @@
214
214
  font-size: 0.8125rem;
215
215
  padding: 0.4rem 0.9rem;
216
216
  border-radius: var(--studio-radius-md, 8px) var(--studio-radius-md, 8px) 0 0;
217
- cursor: pointer;
217
+ cursor: var(--studio-cursor-pointer, pointer);
218
218
  margin-bottom: -1px;
219
219
  transition: color var(--studio-transition-fast, 0.1s ease);
220
220
  }
@@ -224,7 +224,7 @@
224
224
  .pw-packages__tab[data-active] {
225
225
  background: var(--pw-packages-fill);
226
226
  border-color: var(--pw-packages-border);
227
- border-bottom: 1px solid var(--pw-packages-fill);
227
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-fill);
228
228
  color: var(--pw-packages-line);
229
229
  font-weight: 600;
230
230
  }
@@ -254,14 +254,14 @@
254
254
  display: inline-flex;
255
255
  align-items: center;
256
256
  gap: 0.375rem;
257
- border: 1px solid var(--pw-packages-border-strong);
257
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
258
258
  background: var(--pw-packages-fill);
259
259
  color: var(--pw-packages-muted);
260
260
  border-radius: var(--studio-radius-round, 9999px);
261
261
  padding: 0.2rem 0.625rem;
262
262
  font: inherit;
263
263
  font-size: 0.75rem;
264
- cursor: pointer;
264
+ cursor: var(--studio-cursor-pointer, pointer);
265
265
  transition: background var(--studio-transition-fast, 0.1s ease);
266
266
  }
267
267
  .pw-packages__origin-chip:hover {
@@ -295,7 +295,7 @@
295
295
  border-radius: var(--studio-radius-round, 9999px);
296
296
  font-size: 0.6875rem;
297
297
  font-weight: 600;
298
- letter-spacing: 0.01em;
298
+ letter-spacing: var(--studio-chrome-letter-spacing, 0.01em);
299
299
  background: var(--pw-packages-core-fill);
300
300
  color: var(--pw-packages-core-text);
301
301
  white-space: nowrap;
@@ -323,7 +323,7 @@
323
323
  letter-spacing: 0.01em;
324
324
  color: var(--pw-packages-muted);
325
325
  background: transparent;
326
- border: 1px dashed var(--pw-packages-border-strong);
326
+ border: var(--studio-border-width, 1px) dashed var(--pw-packages-border-strong);
327
327
  white-space: nowrap;
328
328
  }
329
329
 
@@ -342,7 +342,7 @@
342
342
  font-family: var(--pw-packages-family-code);
343
343
  font-size: 0.75rem;
344
344
  color: var(--pw-packages-muted);
345
- cursor: pointer;
345
+ cursor: var(--studio-cursor-pointer, pointer);
346
346
  border-radius: 3px;
347
347
  padding: 0.05rem 0.2rem;
348
348
  margin: -0.05rem -0.2rem;
@@ -394,14 +394,14 @@
394
394
  flex-shrink: 0;
395
395
  }
396
396
  .pw-actions__btn {
397
- border: 1px solid var(--pw-packages-border-strong);
397
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
398
398
  background: var(--pw-packages-raise);
399
399
  color: var(--pw-packages-muted);
400
400
  border-radius: var(--studio-radius-sm, 4px);
401
401
  font: inherit;
402
402
  font-size: 0.6875rem;
403
403
  padding: 0.15rem 0.55rem;
404
- cursor: pointer;
404
+ cursor: var(--studio-cursor-pointer, pointer);
405
405
  transition: background var(--studio-transition-fast, 0.1s ease),
406
406
  color var(--studio-transition-fast, 0.1s ease),
407
407
  border-color var(--studio-transition-fast, 0.1s ease);
@@ -469,7 +469,7 @@
469
469
  }
470
470
  .pw-plugin__supports-label {
471
471
  text-transform: uppercase;
472
- letter-spacing: 0.05em;
472
+ letter-spacing: var(--studio-chrome-letter-spacing, 0.05em);
473
473
  font-size: 0.625rem;
474
474
  font-family: var(--pw-packages-family);
475
475
  color: var(--pw-packages-faint);
@@ -501,7 +501,7 @@
501
501
  justify-content: flex-end;
502
502
  align-items: center;
503
503
  padding-bottom: 0.65rem;
504
- border-bottom: 1px solid var(--pw-packages-border);
504
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
505
505
  }
506
506
 
507
507
  /* show-more toggle, valid inside the plugin/registry <ul>s */
@@ -516,8 +516,8 @@
516
516
  font: inherit;
517
517
  font-size: 0.75rem;
518
518
  color: var(--pw-packages-muted);
519
- cursor: pointer;
520
- border-bottom: 1px dashed var(--pw-packages-border-strong);
519
+ cursor: var(--studio-cursor-pointer, pointer);
520
+ border-bottom: var(--studio-border-width, 1px) dashed var(--pw-packages-border-strong);
521
521
  }
522
522
  .pw-more__btn:hover {
523
523
  color: var(--pw-packages-accent-text);
@@ -568,7 +568,7 @@
568
568
  padding: 1rem;
569
569
  }
570
570
  .pw-registry {
571
- border-bottom: 1px solid var(--pw-packages-border);
571
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
572
572
  }
573
573
  .pw-registry__head {
574
574
  display: flex;
@@ -580,7 +580,7 @@
580
580
  var(--studio-secondary, #33ccf8),
581
581
  var(--pw-packages-fill) 94%
582
582
  );
583
- border-bottom: 1px solid var(--pw-packages-border);
583
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
584
584
  }
585
585
  .pw-registry__name {
586
586
  margin: 0;
@@ -592,7 +592,7 @@
592
592
  font-size: 0.75rem;
593
593
  color: var(--pw-packages-muted);
594
594
  background: var(--pw-packages-fill);
595
- border: 1px solid var(--pw-packages-border);
595
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
596
596
  border-radius: var(--studio-radius-round, 9999px);
597
597
  padding: 0 0.5rem;
598
598
  font-variant-numeric: tabular-nums;
@@ -610,7 +610,7 @@
610
610
  border-left: 3px solid transparent;
611
611
  }
612
612
  .pw-regitem + .pw-regitem {
613
- border-top: 1px solid var(--pw-packages-border);
613
+ border-top: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
614
614
  }
615
615
  .pw-regitem[data-origin="installed"] {
616
616
  border-left-color: var(--pw-packages-installed);
@@ -665,11 +665,11 @@
665
665
  color: var(--pw-packages-muted);
666
666
  font-weight: 600;
667
667
  white-space: nowrap;
668
- cursor: pointer;
668
+ cursor: var(--studio-cursor-pointer, pointer);
669
669
  user-select: none;
670
670
  }
671
671
  .pw-table__th--plain {
672
- cursor: default;
672
+ cursor: var(--studio-cursor-default, default);
673
673
  }
674
674
  .pw-table__th[data-sorted] {
675
675
  color: var(--pw-packages-line);
@@ -679,7 +679,7 @@
679
679
  margin-left: 0.25rem;
680
680
  }
681
681
  .pw-table__row {
682
- border-bottom: 1px solid var(--pw-packages-border);
682
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border);
683
683
  }
684
684
  .pw-table__row:hover {
685
685
  background: var(--pw-packages-raise);
@@ -728,7 +728,7 @@
728
728
  align-items: baseline;
729
729
  gap: 0.5rem;
730
730
  flex-wrap: wrap;
731
- border: 1px solid var(--pw-packages-border-strong);
731
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
732
732
  border-left: 3px solid var(--pw-packages-unknown);
733
733
  border-radius: var(--studio-radius-md, 8px);
734
734
  background: var(--pw-packages-unknown-fill);
@@ -747,7 +747,7 @@
747
747
  padding: 1rem 1.25rem 0;
748
748
  }
749
749
  .pw-broken__box {
750
- border: 1px solid
750
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid)
751
751
  color-mix(in oklch, var(--pw-packages-danger), var(--pw-packages-fill) 45%);
752
752
  border-left: 3px solid var(--pw-packages-danger);
753
753
  border-radius: var(--studio-radius-md, 8px);
@@ -768,7 +768,7 @@
768
768
  font-size: 0.75rem;
769
769
  font-weight: 650;
770
770
  text-transform: uppercase;
771
- letter-spacing: 0.04em;
771
+ letter-spacing: var(--studio-chrome-letter-spacing, 0.04em);
772
772
  color: color-mix(in oklch, var(--pw-packages-danger), var(--pw-packages-line) 30%);
773
773
  }
774
774
  .pw-broken__name {
@@ -823,17 +823,17 @@
823
823
  .pw-modal {
824
824
  position: fixed;
825
825
  inset: 0;
826
- z-index: 50;
826
+ z-index: var(--studio-layer-modal, 50);
827
827
  display: flex;
828
828
  align-items: flex-start;
829
829
  justify-content: center;
830
830
  padding: max(6vh, 2rem) 1rem 2rem;
831
- background: color-mix(in oklch, var(--pw-packages-line), transparent 55%);
832
- backdrop-filter: blur(2px);
831
+ background: var(--studio-backdrop, color-mix(in oklch, var(--pw-packages-line), transparent 55%));
832
+ backdrop-filter: var(--studio-backdrop-blur, blur(2px));
833
833
  overflow-y: auto;
834
834
  /* Same enter as threepane's frame popover: the wash fades, the card lifts in.
835
835
  Closing is instant. */
836
- transition: opacity 150ms ease;
836
+ transition: opacity var(--studio-transition, 150ms ease);
837
837
  }
838
838
  @starting-style {
839
839
  .pw-modal {
@@ -848,12 +848,12 @@
848
848
  padding: 1.25rem 1.375rem 1.125rem;
849
849
  background: var(--pw-packages-fill);
850
850
  color: var(--pw-packages-line);
851
- border: 1px solid var(--pw-packages-border-strong);
851
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
852
852
  border-radius: var(--studio-radius-lg, 12px);
853
853
  box-shadow: 0 12px 40px color-mix(in oklch, var(--pw-packages-line), transparent 78%);
854
854
  transition:
855
- opacity 200ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
856
- transform 200ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
855
+ opacity max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
856
+ transform max(1ms, calc(200ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
857
857
  }
858
858
  @starting-style {
859
859
  .pw-install {
@@ -880,7 +880,7 @@
880
880
  font-size: 1.25rem;
881
881
  line-height: 1;
882
882
  padding: 0.1rem 0.3rem;
883
- cursor: pointer;
883
+ cursor: var(--studio-cursor-pointer, pointer);
884
884
  border-radius: var(--studio-radius-sm, 4px);
885
885
  }
886
886
  .pw-install__close:hover {
@@ -898,7 +898,7 @@
898
898
  }
899
899
  .pw-install__input {
900
900
  width: 100%;
901
- border: 1px solid var(--pw-packages-border-strong);
901
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
902
902
  border-radius: var(--studio-radius-sm, 4px);
903
903
  background: var(--pw-packages-fill);
904
904
  color: var(--pw-packages-line);
@@ -908,8 +908,8 @@
908
908
  padding: 0.5rem 0.625rem;
909
909
  }
910
910
  .pw-install__input:focus {
911
- outline: 2px solid var(--pw-packages-focus);
912
- outline-offset: 1px;
911
+ outline: var(--studio-focus-ring, 2px solid var(--pw-packages-focus));
912
+ outline-offset: var(--studio-focus-ring-offset, 1px);
913
913
  }
914
914
  .pw-install__preview {
915
915
  display: flex;
@@ -991,21 +991,21 @@
991
991
  color: var(--pw-packages-muted);
992
992
  }
993
993
  .pw-install__cancel {
994
- border: 1px solid var(--pw-packages-border-strong);
994
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--pw-packages-border-strong);
995
995
  background: var(--pw-packages-fill);
996
996
  color: var(--pw-packages-muted);
997
997
  border-radius: 999px;
998
998
  font: inherit;
999
999
  font-size: 0.8125rem;
1000
1000
  padding: 0.45rem 0.9rem;
1001
- cursor: pointer;
1001
+ cursor: var(--studio-cursor-pointer, pointer);
1002
1002
  }
1003
1003
  .pw-install__cancel:hover {
1004
1004
  background: var(--pw-packages-raise);
1005
1005
  color: var(--pw-packages-line);
1006
1006
  }
1007
1007
  .pw-install__add {
1008
- border: 1px solid
1008
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid)
1009
1009
  color-mix(in oklch, var(--pw-packages-accent), var(--pw-packages-line) 12%);
1010
1010
  background: color-mix(
1011
1011
  in oklch,
@@ -1018,7 +1018,7 @@
1018
1018
  font-size: 0.8125rem;
1019
1019
  font-weight: 650;
1020
1020
  padding: 0.45rem 1.05rem;
1021
- cursor: pointer;
1021
+ cursor: var(--studio-cursor-pointer, pointer);
1022
1022
  box-shadow: 0 2px 6px
1023
1023
  color-mix(in oklch, var(--pw-packages-accent), transparent 74%);
1024
1024
  transition: background var(--studio-transition-fast, 0.1s ease),
@@ -1032,8 +1032,8 @@
1032
1032
  );
1033
1033
  }
1034
1034
  .pw-install__add:disabled {
1035
- opacity: 0.5;
1036
- cursor: not-allowed;
1035
+ opacity: var(--studio-disabled-opacity, 0.5);
1036
+ cursor: var(--studio-cursor-not-allowed, not-allowed);
1037
1037
  box-shadow: none;
1038
1038
  }`));
1039
1039
  document.head.appendChild(elementStyle);
@@ -56,7 +56,7 @@ const STYLES = `
56
56
  justify-content: space-between;
57
57
  gap: 0.5rem;
58
58
  padding-bottom: 0.5rem;
59
- border-bottom: 1px solid var(--re-border);
59
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-border);
60
60
  flex-shrink: 0;
61
61
  }
62
62
  .re-url {
@@ -67,8 +67,8 @@ const STYLES = `
67
67
  white-space: nowrap;
68
68
  min-width: 0;
69
69
  flex: 1;
70
- cursor: pointer;
71
- transition: opacity 0.15s;
70
+ cursor: var(--studio-cursor-pointer, pointer);
71
+ transition: opacity max(1ms, calc(0.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));
72
72
  user-select: none;
73
73
  }
74
74
  .re-url:hover { opacity: 0.7; }
@@ -86,17 +86,17 @@ const STYLES = `
86
86
  border-radius: 0.3rem;
87
87
  font-size: 0.68rem;
88
88
  font-weight: 500;
89
- cursor: pointer;
90
- border: 1px solid var(--re-border);
89
+ cursor: var(--studio-cursor-pointer, pointer);
90
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-border);
91
91
  background: transparent;
92
92
  color: inherit;
93
93
  opacity: 0.7;
94
- transition: opacity 0.1s, background 0.1s;
94
+ transition: opacity max(1ms, calc(0.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))), background max(1ms, calc(0.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));
95
95
  white-space: nowrap;
96
96
  font-family: inherit;
97
97
  }
98
98
  .re-btn:hover:not(:disabled) { opacity: 1; background: var(--re-btn-hover); }
99
- .re-btn:disabled { opacity: 0.25; cursor: default; }
99
+ .re-btn:disabled { opacity: 0.25; cursor: var(--studio-cursor-default, default); }
100
100
  .re-icon { display: inline-flex; align-items: center; }
101
101
  .re-icon svg { display: block; }
102
102
  .re-scroll {
@@ -129,7 +129,7 @@ const STYLES = `
129
129
  width: 18px;
130
130
  height: 18px;
131
131
  flex-shrink: 0;
132
- cursor: pointer;
132
+ cursor: var(--studio-cursor-pointer, pointer);
133
133
  opacity: 0.5;
134
134
  border-radius: 3px;
135
135
  }
@@ -148,7 +148,7 @@ const STYLES = `
148
148
  }
149
149
  .re-automerge-url {
150
150
  color: var(--re-link) !important;
151
- cursor: pointer !important;
151
+ cursor: var(--studio-cursor-pointer, pointer) !important;
152
152
  text-decoration: underline;
153
153
  }
154
154
  .re-automerge-url:hover { color: var(--re-link-hover) !important; }
@@ -157,7 +157,7 @@ const STYLES = `
157
157
  gap: 2px;
158
158
  margin-left: 6px;
159
159
  opacity: 0;
160
- transition: opacity 0.1s;
160
+ transition: opacity max(1ms, calc(0.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));
161
161
  }
162
162
  .re-act {
163
163
  display: inline-flex;
@@ -166,7 +166,7 @@ const STYLES = `
166
166
  width: 20px;
167
167
  height: 20px;
168
168
  border-radius: 3px;
169
- cursor: pointer;
169
+ cursor: var(--studio-cursor-pointer, pointer);
170
170
  opacity: 0.5;
171
171
  }
172
172
  .re-act:hover { opacity: 1; background: var(--re-btn-hover); }
@@ -180,7 +180,7 @@ const STYLES = `
180
180
  font-family: inherit;
181
181
  font-size: inherit;
182
182
  padding: 3px 6px;
183
- border: 1px solid var(--re-input-border);
183
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-input-border);
184
184
  border-radius: 4px;
185
185
  background: var(--re-input-bg);
186
186
  color: var(--re-input-color);
@@ -193,11 +193,11 @@ const STYLES = `
193
193
  font-family: inherit;
194
194
  font-size: 0.85em;
195
195
  padding: 1px 2px;
196
- border: 1px solid var(--re-input-border);
196
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-input-border);
197
197
  border-radius: 3px;
198
198
  background: var(--re-input-bg);
199
199
  color: var(--re-input-color);
200
- cursor: pointer;
200
+ cursor: var(--studio-cursor-pointer, pointer);
201
201
  }
202
202
  .re-edit-btn {
203
203
  display: inline-flex;
@@ -206,7 +206,7 @@ const STYLES = `
206
206
  width: 20px;
207
207
  height: 20px;
208
208
  border-radius: 3px;
209
- cursor: pointer;
209
+ cursor: var(--studio-cursor-pointer, pointer);
210
210
  opacity: 0.6;
211
211
  }
212
212
  .re-edit-btn:hover { opacity: 1; background: var(--re-btn-hover); }
@@ -215,14 +215,14 @@ const STYLES = `
215
215
  .raw-editor-wrapper { position: relative; }
216
216
  .re-cm-overlay {
217
217
  position: absolute;
218
- z-index: 9999;
218
+ z-index: var(--studio-layer-popover, 9999);
219
219
  display: flex;
220
220
  flex-direction: column;
221
221
  gap: 4px;
222
222
  padding: 6px;
223
223
  border-radius: 6px;
224
224
  background: var(--re-overlay-bg);
225
- border: 1px solid var(--re-input-border);
225
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-input-border);
226
226
  box-shadow: 0 4px 16px color-mix(in srgb, var(--re-line) 15%, transparent), 0 0 0 1px var(--re-border);
227
227
  }
228
228
  .re-cm-host {
@@ -231,7 +231,7 @@ const STYLES = `
231
231
  border-radius: 4px;
232
232
  overflow: hidden;
233
233
  background: var(--re-input-bg);
234
- border: 1px solid var(--re-input-border);
234
+ border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-input-border);
235
235
  }
236
236
  .re-cm-host .cm-editor {
237
237
  background: transparent;
@@ -269,7 +269,7 @@ const STYLES = `
269
269
  .u8-toggle {
270
270
  font-size: 0.68em;
271
271
  opacity: 0.5;
272
- cursor: pointer;
272
+ cursor: var(--studio-cursor-pointer, pointer);
273
273
  text-decoration: underline;
274
274
  text-underline-offset: 2px;
275
275
  user-select: none;
@@ -292,16 +292,16 @@ const STYLES = `
292
292
  gap: 0.15em;
293
293
  margin-bottom: 0.4em;
294
294
  padding-bottom: 0.3em;
295
- border-bottom: 1px solid var(--re-border);
295
+ border-bottom: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--re-border);
296
296
  }
297
297
  .u8-mode-btn {
298
298
  padding: 0.1em 0.45em;
299
299
  border-radius: 0.2em;
300
- cursor: pointer;
300
+ cursor: var(--studio-cursor-pointer, pointer);
301
301
  opacity: 0.5;
302
302
  font-size: 0.9em;
303
303
  user-select: none;
304
- transition: opacity 0.1s, background 0.1s;
304
+ transition: opacity max(1ms, calc(0.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))), background max(1ms, calc(0.1s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));
305
305
  }
306
306
  .u8-mode-btn:hover { opacity: 0.8; background: var(--re-btn-hover); }
307
307
  .u8-mode-btn--active { opacity: 1; background: var(--re-mode-active-bg); font-weight: 600; }
@@ -1,3 +1,3 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode("@layer package{:root,:host,[theme]{--configurator-fg: var(--editor-line, black);--configurator-fill: var(--editor-fill, white);--configurator-family: var(--editor-family-sans, system-ui, sans-serif);--configurator-family-code: var(--editor-family-code, ui-monospace, monospace);--configurator-accent: var(--studio-accent, oklch(.6 .15 250))}}.configurator{container-type:inline-size;padding:1.25rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem;height:100%;overflow-y:auto;font-family:var(--configurator-family);color:var(--configurator-fg)}.configurator.loading{opacity:.5;font-size:.875rem}.configurator-title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:inherit}.config-section{display:flex;flex-direction:column;gap:.625rem;padding-top:1rem;border-top:1px solid color-mix(in oklch,currentColor 10%,transparent)}.config-section:first-of-type{border-top:none;padding-top:0}.section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.5}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@container (max-width: 279px){.preview-grid{grid-template-columns:1fr}}@container (min-width: 400px){.preview-grid{grid-template-columns:repeat(3,1fr)}}.preview-card{display:flex;flex-direction:column;border:1.5px solid color-mix(in oklch,currentColor 12%,transparent);border-radius:.5rem;overflow:hidden;cursor:pointer;transition:border-color .12s,box-shadow .12s;background:none;color:inherit;padding:0;text-align:left}.preview-card:hover{border-color:color-mix(in oklch,currentColor 25%,transparent)}.preview-card[aria-checked=true]{border-color:var(--configurator-accent);box-shadow:0 0 0 1px var(--configurator-accent)}.preview-card-label{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;font-size:.75rem;font-weight:500}.preview-card-check{margin-left:auto;color:var(--configurator-accent);flex-shrink:0;display:none}.preview-card[aria-checked=true] .preview-card-check{display:flex}.empty-message{font-size:.8125rem;opacity:.7;font-style:italic;margin:0;padding:.375rem 0}.toolbar-strip{display:flex;flex-wrap:wrap;gap:.375rem;align-items:flex-end}.toolbar-box{display:flex;flex-direction:row;align-items:center;border:1px solid color-mix(in oklch,currentColor 12%,transparent);border-radius:.375rem;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;transition:border-color .12s,opacity .15s,transform .2s ease}.toolbar-box:active{cursor:grabbing}.toolbar-box.dragging{opacity:0}.toolbar-box.shift-left{transform:translate(calc(-100% - .375rem))}.toolbar-box.shift-right{transform:translate(calc(100% + .375rem))}.toolbar-box-label{font-size:.6875rem;padding:.3125rem .625rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-box-remove{margin-right:.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:none;border-radius:50%;background:color-mix(in oklch,currentColor 10%,transparent);color:inherit;opacity:0;cursor:pointer;padding:0;transition:opacity .12s,background .12s,color .12s}.toolbar-box:hover .toolbar-box-remove{opacity:.5}.toolbar-box-remove:hover{opacity:1!important;color:#f04c5a;background:#f04c5a26}.toolbar-add-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:100%;min-height:3.5rem;border:1.5px dashed color-mix(in oklch,currentColor 18%,transparent);border-radius:.375rem;background:none;color:inherit;opacity:.45;cursor:pointer;padding:0;transition:opacity .12s,border-color .12s,background .12s}.toolbar-add-btn:hover{opacity:.8;border-color:color-mix(in oklch,currentColor 30%,transparent);background:color-mix(in oklch,currentColor 4%,transparent)}.context-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1.5px solid color-mix(in oklch,currentColor 12%,transparent)}.context-tab{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:1px solid color-mix(in oklch,currentColor 12%,transparent);border-bottom:none;border-radius:.375rem .375rem 0 0;background:none;color:inherit;font-size:.75rem;font-weight:500;cursor:grab;-webkit-user-select:none;user-select:none;margin-bottom:-1.5px;transition:background .12s,opacity .15s,transform .2s ease}.context-tab:active{cursor:grabbing}.context-tab.dragging{opacity:0}.context-tab.shift-left{transform:translate(-100%)}.context-tab.shift-right{transform:translate(100%)}.context-tab:hover{background:color-mix(in oklch,currentColor 6%,transparent)}.context-tab-remove{display:flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;border:none;border-radius:50%;background:none;color:inherit;opacity:.25;cursor:pointer;padding:0;flex-shrink:0;transition:opacity .12s,color .12s,background .12s}.context-tab-remove:hover{opacity:1;color:#f04c5a;background:#f04c5a1f}.context-tab-add{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:1px dashed color-mix(in oklch,currentColor 15%,transparent);border-bottom:none;border-radius:.375rem .375rem 0 0;background:none;color:inherit;font-size:.75rem;opacity:.45;cursor:pointer;margin-bottom:-1.5px;transition:opacity .12s,background .12s}.context-tab-add:hover{opacity:.8;background:color-mix(in oklch,currentColor 4%,transparent)}.add-popover-anchor{position:relative}.add-popover{position:absolute;bottom:calc(100% + .375rem);left:0;z-index:10;min-width:12rem;padding:.375rem;background:var(--configurator-fill);border:1px solid color-mix(in oklch,currentColor 15%,transparent);border-radius:.5rem;box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f;display:flex;flex-direction:column;gap:2px}.add-popover-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;border:none;border-radius:.375rem;background:none;color:inherit;font-size:.8125rem;cursor:pointer;text-align:left;width:100%;transition:background .12s}.add-popover-option:hover{background:color-mix(in oklch,currentColor 8%,transparent)}.add-popover-option svg{opacity:.4;flex-shrink:0}.add-popover-custom{display:flex;align-items:center;gap:4px;padding:.375rem .375rem .25rem;border-top:1px solid color-mix(in oklch,currentColor 8%,transparent);margin-top:2px}.add-popover-custom-input{flex:1;min-width:0;padding:.25rem .375rem;border:1px solid color-mix(in oklch,currentColor 15%,transparent);border-radius:.25rem;background:none;color:inherit;font-size:.8125rem;font-family:var(--configurator-family-code);outline:none;transition:border-color .12s}.add-popover-custom-input::placeholder{opacity:.4;font-family:inherit;font-style:italic}.add-popover-custom-input:focus{border-color:color-mix(in oklch,currentColor 35%,transparent)}.add-popover-custom-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;border-radius:.25rem;background:none;color:inherit;opacity:.5;cursor:pointer;flex-shrink:0;padding:0;transition:opacity .12s,background .12s}.add-popover-custom-btn:hover:not(:disabled){opacity:.8;background:color-mix(in oklch,currentColor 8%,transparent)}.add-popover-custom-btn:disabled{opacity:.2;cursor:default}.add-popover-done{display:flex;align-items:center;justify-content:center;padding:.3125rem;border:none;border-radius:.25rem;background:none;color:inherit;opacity:.5;font-size:.75rem;cursor:pointer;transition:background .12s,opacity .12s}.add-popover-done:hover{opacity:.8;background:color-mix(in oklch,currentColor 8%,transparent)}.theme-embed{border:1px solid color-mix(in oklch,currentColor 10%,transparent);border-radius:.5rem;overflow:hidden}.theme-embed patchwork-view{display:block;width:100%}")),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode("@layer package{:root,:host,[theme]{--configurator-fg: var(--editor-line, black);--configurator-fill: var(--editor-fill, white);--configurator-family: var(--editor-family-sans, system-ui, sans-serif);--configurator-family-code: var(--editor-family-code, ui-monospace, monospace);--configurator-accent: var(--studio-accent, oklch(.6 .15 250))}}.configurator{container-type:inline-size;padding:1.25rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem;height:100%;overflow-y:auto;font-family:var(--configurator-family);color:var(--configurator-fg)}.configurator.loading{opacity:.5;font-size:.875rem}.configurator-title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:inherit}.config-section{display:flex;flex-direction:column;gap:.625rem;padding-top:1rem;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 10%,transparent)}.config-section:first-of-type{border-top:none;padding-top:0}.section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:var(--studio-chrome-letter-spacing, .06em);opacity:.5}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@container (max-width: 279px){.preview-grid{grid-template-columns:1fr}}@container (min-width: 400px){.preview-grid{grid-template-columns:repeat(3,1fr)}}.preview-card{display:flex;flex-direction:column;border:1.5px solid color-mix(in oklch,currentColor 12%,transparent);border-radius:.5rem;overflow:hidden;cursor:var(--studio-cursor-pointer, pointer);transition:border-color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),box-shadow max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)));background:none;color:inherit;padding:0;text-align:left}.preview-card:hover{border-color:color-mix(in oklch,currentColor 25%,transparent)}.preview-card[aria-checked=true]{border-color:var(--configurator-accent);box-shadow:0 0 0 1px var(--configurator-accent)}.preview-card-label{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;font-size:.75rem;font-weight:500}.preview-card-check{margin-left:auto;color:var(--configurator-accent);flex-shrink:0;display:none}.preview-card[aria-checked=true] .preview-card-check{display:flex}.empty-message{font-size:.8125rem;opacity:.7;font-style:italic;margin:0;padding:.375rem 0}.toolbar-strip{display:flex;flex-wrap:wrap;gap:.375rem;align-items:flex-end}.toolbar-box{display:flex;flex-direction:row;align-items:center;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 12%,transparent);border-radius:.375rem;overflow:hidden;cursor:var(--studio-cursor-grab, grab);-webkit-user-select:none;user-select:none;position:relative;transition:border-color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),transform max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.toolbar-box:active{cursor:var(--studio-cursor-grabbing, grabbing)}.toolbar-box.dragging{opacity:0}.toolbar-box.shift-left{transform:translate(calc(-100% - .375rem))}.toolbar-box.shift-right{transform:translate(calc(100% + .375rem))}.toolbar-box-label{font-size:.6875rem;padding:.3125rem .625rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-box-remove{margin-right:.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:none;border-radius:50%;background:color-mix(in oklch,currentColor 10%,transparent);color:inherit;opacity:0;cursor:var(--studio-cursor-pointer, pointer);padding:0;transition:opacity max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.toolbar-box:hover .toolbar-box-remove{opacity:.5}.toolbar-box-remove:hover{opacity:1!important;color:#f04c5a;background:#f04c5a26}.toolbar-add-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:100%;min-height:3.5rem;border:1.5px dashed color-mix(in oklch,currentColor 18%,transparent);border-radius:.375rem;background:none;color:inherit;opacity:.45;cursor:var(--studio-cursor-pointer, pointer);padding:0;transition:opacity max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),border-color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.toolbar-add-btn:hover{opacity:.8;border-color:color-mix(in oklch,currentColor 30%,transparent);background:color-mix(in oklch,currentColor 4%,transparent)}.context-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1.5px solid color-mix(in oklch,currentColor 12%,transparent)}.context-tab{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 12%,transparent);border-bottom:none;border-radius:.375rem .375rem 0 0;background:none;color:inherit;font-size:.75rem;font-weight:500;cursor:var(--studio-cursor-grab, grab);-webkit-user-select:none;user-select:none;margin-bottom:-1.5px;transition:background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),opacity max(1ms,calc(.15s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),transform max(1ms,calc(.2s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) ease}.context-tab:active{cursor:var(--studio-cursor-grabbing, grabbing)}.context-tab.dragging{opacity:0}.context-tab.shift-left{transform:translate(-100%)}.context-tab.shift-right{transform:translate(100%)}.context-tab:hover{background:color-mix(in oklch,currentColor 6%,transparent)}.context-tab-remove{display:flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;border:none;border-radius:50%;background:none;color:inherit;opacity:.25;cursor:var(--studio-cursor-pointer, pointer);padding:0;flex-shrink:0;transition:opacity max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.context-tab-remove:hover{opacity:1;color:#f04c5a;background:#f04c5a1f}.context-tab-add{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:var(--studio-border-width, 1px) dashed color-mix(in oklch,currentColor 15%,transparent);border-bottom:none;border-radius:.375rem .375rem 0 0;background:none;color:inherit;font-size:.75rem;opacity:.45;cursor:var(--studio-cursor-pointer, pointer);margin-bottom:-1.5px;transition:opacity max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.context-tab-add:hover{opacity:.8;background:color-mix(in oklch,currentColor 4%,transparent)}.add-popover-anchor{position:relative}.add-popover{position:absolute;bottom:calc(100% + .375rem);left:0;z-index:var(--studio-layer-dropdown, 10);min-width:12rem;padding:.375rem;background:var(--configurator-fill);border:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 15%,transparent);border-radius:.5rem;box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f;display:flex;flex-direction:column;gap:2px}.add-popover-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;border:none;border-radius:.375rem;background:none;color:inherit;font-size:.8125rem;cursor:var(--studio-cursor-pointer, pointer);text-align:left;width:100%;transition:background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.add-popover-option:hover{background:color-mix(in oklch,currentColor 8%,transparent)}.add-popover-option svg{opacity:.4;flex-shrink:0}.add-popover-custom{display:flex;align-items:center;gap:4px;padding:.375rem .375rem .25rem;border-top:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 8%,transparent);margin-top:2px}.add-popover-custom-input{flex:1;min-width:0;padding:.25rem .375rem;border:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 15%,transparent);border-radius:.25rem;background:none;color:inherit;font-size:.8125rem;font-family:var(--configurator-family-code);outline:none;transition:border-color max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.add-popover-custom-input::placeholder{opacity:.4;font-family:inherit;font-style:italic}.add-popover-custom-input:focus{border-color:color-mix(in oklch,currentColor 35%,transparent)}.add-popover-custom-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;border-radius:.25rem;background:none;color:inherit;opacity:.5;cursor:var(--studio-cursor-pointer, pointer);flex-shrink:0;padding:0;transition:opacity max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.add-popover-custom-btn:hover:not(:disabled){opacity:.8;background:color-mix(in oklch,currentColor 8%,transparent)}.add-popover-custom-btn:disabled{opacity:.2;cursor:var(--studio-cursor-default, default)}.add-popover-done{display:flex;align-items:center;justify-content:center;padding:.3125rem;border:none;border-radius:.25rem;background:none;color:inherit;opacity:.5;font-size:.75rem;cursor:var(--studio-cursor-pointer, pointer);transition:background max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))),opacity max(1ms,calc(.12s * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1)))}.add-popover-done:hover{opacity:.8;background:color-mix(in oklch,currentColor 8%,transparent)}.theme-embed{border:var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch,currentColor 10%,transparent);border-radius:.5rem;overflow:hidden}.theme-embed patchwork-view{display:block;width:100%}")),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
2
  import{render as le,createComponent as y,insert as v,getOwner as ae,effect as E,template as w,use as ne,setAttribute as I,className as W,delegateEvents as ce}from"solid-js/web";import{getRegistry as ue}from"@inkandswitch/patchwork-plugins";import{accept as J}from"@inkandswitch/patchwork-providers";import{onCleanup as re,createMemo as x,createContext as de,useContext as fe,createResource as pe,createEffect as he,Show as P,For as V,createSignal as M}from"solid-js";import{createStore as oe,reconcile as U,produce as Ce}from"solid-js/store";function me(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var j={exports:{}},N,Z;function ge(){if(Z)return N;Z=1;var e=1e3,n=e*60,o=n*60,t=o*24,c=t*7,d=t*365.25;N=function(i,r){r=r||{};var l=typeof i;if(l==="string"&&i.length>0)return a(i);if(l==="number"&&isFinite(i))return r.long?h(i):p(i);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(i))};function a(i){if(i=String(i),!(i.length>100)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i);if(r){var l=parseFloat(r[1]),f=(r[2]||"ms").toLowerCase();switch(f){case"years":case"year":case"yrs":case"yr":case"y":return l*d;case"weeks":case"week":case"w":return l*c;case"days":case"day":case"d":return l*t;case"hours":case"hour":case"hrs":case"hr":case"h":return l*o;case"minutes":case"minute":case"mins":case"min":case"m":return l*n;case"seconds":case"second":case"secs":case"sec":case"s":return l*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return l;default:return}}}}function p(i){var r=Math.abs(i);return r>=t?Math.round(i/t)+"d":r>=o?Math.round(i/o)+"h":r>=n?Math.round(i/n)+"m":r>=e?Math.round(i/e)+"s":i+"ms"}function h(i){var r=Math.abs(i);return r>=t?s(i,r,t,"day"):r>=o?s(i,r,o,"hour"):r>=n?s(i,r,n,"minute"):r>=e?s(i,r,e,"second"):i+" ms"}function s(i,r,l,f){var C=r>=l*1.5;return Math.round(i/l)+" "+f+(C?"s":"")}return N}var z,K;function ve(){if(K)return z;K=1;function e(n){t.debug=t,t.default=t,t.coerce=s,t.disable=p,t.enable=d,t.enabled=h,t.humanize=ge(),t.destroy=i,Object.keys(n).forEach(r=>{t[r]=n[r]}),t.names=[],t.skips=[],t.formatters={};function o(r){let l=0;for(let f=0;f<r.length;f++)l=(l<<5)-l+r.charCodeAt(f),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=o;function t(r){let l,f=null,C,b;function u(...m){if(!u.enabled)return;const g=u,k=Number(new Date),L=k-(l||k);g.diff=L,g.prev=l,g.curr=k,l=k,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let A=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(_,$)=>{if(_==="%%")return"%";A++;const D=t.formatters[$];if(typeof D=="function"){const R=m[A];_=D.call(g,R),m.splice(A,1),A--}return _}),t.formatArgs.call(g,m),(g.log||t.log).apply(g,m)}return u.namespace=r,u.useColors=t.useColors(),u.color=t.selectColor(r),u.extend=c,u.destroy=t.destroy,Object.defineProperty(u,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(C!==t.namespaces&&(C=t.namespaces,b=t.enabled(r)),b),set:m=>{f=m}}),typeof t.init=="function"&&t.init(u),u}function c(r,l){const f=t(this.namespace+(typeof l>"u"?":":l)+r);return f.log=this.log,f}function d(r){t.save(r),t.namespaces=r,t.names=[],t.skips=[];const l=(typeof r=="string"?r:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const f of l)f[0]==="-"?t.skips.push(f.slice(1)):t.names.push(f)}function a(r,l){let f=0,C=0,b=-1,u=0;for(;f<r.length;)if(C<l.length&&(l[C]===r[f]||l[C]==="*"))l[C]==="*"?(b=C,u=f,C++):(f++,C++);else if(b!==-1)C=b+1,u++,f=u;else return!1;for(;C<l.length&&l[C]==="*";)C++;return C===l.length}function p(){const r=[...t.names,...t.skips.map(l=>"-"+l)].join(",");return t.enable(""),r}function h(r){for(const l of t.skips)if(a(r,l))return!1;for(const l of t.names)if(a(r,l))return!0;return!1}function s(r){return r instanceof Error?r.stack||r.message:r}function i(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}return z=e,z}var Y;function ye(){return Y||(Y=1,(function(e,n){var o={};n.formatArgs=c,n.save=d,n.load=a,n.useColors=t,n.storage=p(),n.destroy=(()=>{let s=!1;return()=>{s||(s=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function c(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;s.splice(1,0,i,"color: inherit");let r=0,l=0;s[0].replace(/%[a-zA-Z%]/g,f=>{f!=="%%"&&(r++,f==="%c"&&(l=r))}),s.splice(l,0,i)}n.log=console.debug||console.log||(()=>{});function d(s){try{s?n.storage.setItem("debug",s):n.storage.removeItem("debug")}catch{}}function a(){let s;try{s=n.storage.getItem("debug")||n.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=o.DEBUG),s}function p(){try{return localStorage}catch{}}e.exports=ve()(n);const{formatters:h}=e.exports;h.j=function(s){try{return JSON.stringify(s)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}})(j,j.exports)),j.exports}var we=ye();const be=me(we);var se=be("cabbages");function Q(e){return typeof e=="object"&&typeof e!=null&&Object.getPrototypeOf(e)==Object.prototype}var Fe="";function ke(e,...n){if(n.length==0){se("empty patch");return}const[o,t,c]=n;let d=[...o];for(;;){let a=d.shift();if(!d.length){const h=Array.isArray(t);if(Q(e)&&h&&typeof a>"u"&&typeof t[0]=="string"){delete e[t[0]];return}if(h||typeof t=="number"){if(typeof a>"u")throw new Error("cant treat top level as a seq");a=a;let[s,i]=Array.isArray(t)?t:[t,t+1];const r=Array.isArray(t)&&t.length==0;if(!r&&(s==null||i==null))throw new RangeError("it's all or nothing, no half measures");const l=typeof c>"u",f=s===i&&!l,C=r&&!l,b=!f&&!l&&!C;if(typeof e[a]>"u"){if(typeof e=="string")return;typeof c=="string"?e[a]="":e[a]=[]}let u=e[a];if(Array.isArray(u)){if(C){Array.isArray(c)?u.push(...c):u.push(c);return}if(f||b){Array.isArray(c)?u.splice(s,i-s,...c):u.splice(s,i-s,c);return}if(l){u.splice(s,i-s);return}throw new Error("i don't know what happened")}if(typeof u=="string"){if(C){e[a]=u+c;return}if(b||f){e[a]=u.slice(0,s)+(typeof c=="string"?c:c.map(m=>typeof m=="string"?m:Fe).join(""))+u.slice(i);return}if(l){e[a]=u.slice(0,s)+u.slice(i);return}throw new Error("i don't know what happened")}if(Q(u)&&h&&typeof t[0]=="string"){delete u[t[0]];return}throw new Error("not implemented")}if(typeof a>"u"){if(typeof t!="string")throw new Error(`can't index top-level map with ${t}`);typeof c>"u"?delete e[t]:e[t]=c;return}if(typeof e[a]>"u"&&(e[a]={}),h){let[s,i]=t;s!=null&&i!=null&&(typeof c>"u"&&s!=null&&i!=null?delete e[a][s||i]:e[a][s||i]=c)}else if(typeof c>"u")delete e[a][t];else{if(typeof e[a]=="string")return;e[a][t]=c}return}if(typeof a>"u")throw new Error("cant treat top level as a seq");a=a;let p=d[0];if(typeof e[a]>"u")if(typeof p=="string")e[a]={};else if(typeof p=="number")e[a]=[];else throw new Error(`can't go down this road ${e}.${a}.${p}`);e=e[a]}}function X(e,n){for(let o=0;o<n.length;o++)e=e?e[n[o]]:void 0;return e}function $e(e,n){const o=e.path.slice(0,-1),t=e.path[e.path.length-1];switch(e.action){case"mark":case"unmark":return se(`skipping ${e.action} because it doesn't affect material reality`),[];case"inc":if(n)return[o,t,X(n.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"conflict":if(n)return[o,t,X(n.patchInfo.after,e.path)];throw new Error(`can't apply ${e.action} without payload argument`);case"del":return typeof t=="string"?[o,t]:[o,[t,t+(e.length||1)]];case"insert":return[o,[t,t],structuredClone(e.values)];case"splice":return[o,[t,t],[e.value]];case"put":return[o,t,structuredClone(e.value)]}}function _e(e){return n=>{for(let o of e.patches)ke(n,...$e(o,e))}}const S=new WeakMap;function Ae(e){if(re(()=>{const d=S.get(e);d&&(d.refs--||d.cleanup())}),S.has(e)){const d=S.get(e);return d.refs++,d.store}const[n,o]=oe(structuredClone(e.doc()));S.set(e,{refs:0,store:n,cleanup(){e.off("change",t),e.off("delete",c),S.delete(e)}});function t(d){if(d.scopeReplaced){o(U(d.doc??{}));return}o(Ce(_e(d)))}function c(){o(U({}))}return e.on("change",t),e.on("delete",c),e.whenReady().then(()=>{o(structuredClone(e.doc()))}),n}const T=e=>typeof e=="function"&&!e.length?e():e;function Ee(e){return x(()=>T(e)&&Ae(T(e)))}const ie=de(null);function xe(e,n){const o=fe(ie);if(!o)throw new Error("use outside <RepoContext> requires options.repo");const t=o;function c(){const p=T(e);if(!p)return;const h=t.findWithProgress(p).peek();return h.state==="ready"?h.handle:void 0}const[d,{mutate:a}]=pe(e,p=>t.findWithProgress(p).whenReady(),{initialValue:c()});return he(()=>{T(e)||a()}),d}function ee(e,n){const o=xe(e);return[Ee(o),o]}var Ie=w('<svg width=14 height=14 viewBox="0 0 14 14"fill=none stroke=var(--studio-chrome-line) stroke-width=1.5 stroke-linecap=round><line x1=7 y1=3 x2=7 y2=11></line><line x1=3 y1=7 x2=11 y2=7>'),De=w('<svg viewBox="0 0 10 10"fill=none stroke=var(--studio-chrome-line) stroke-width=1.5 stroke-linecap=round><line x1=2 y1=2 x2=8 y2=8></line><line x1=8 y1=2 x2=2 y2=8>'),Re=w('<svg width=12 height=12 viewBox="0 0 12 12"fill=none stroke=var(--studio-chrome-line) stroke-width=2 stroke-linecap=round stroke-linejoin=round><polyline points="2.5 6 5 8.5 9.5 3.5">'),Oe=w("<div class=add-popover><div class=add-popover-custom><input type=text class=add-popover-custom-input><button class=add-popover-custom-btn></button></div><button class=add-popover-done>Done"),Se=w("<button class=add-popover-option>"),Pe=w("<div class=preview-grid>"),Le=w("<div class=config-section><div class=section-label>"),je=w("<p class=empty-message>No tools available"),Me=w("<button class=preview-card><div class=preview-card-label><span></span><span class=preview-card-check>"),Te=w('<div class=config-section><div class=section-label></div><div><div class=add-popover-anchor><button class=toolbar-add-btn aria-label="Add doc titlebar tool">'),qe=w("<div><div class=toolbar-box-label></div><button class=toolbar-box-remove>"),Be=w("<div class=configurator>"),Ne=w('<div class="configurator loading">Loading configuration...'),ze=w("<p class=empty-message>Preparing layout configuration…"),Ue=w("<div class=config-section><div class=section-label>Theme</div><div class=theme-embed><patchwork-view tool-id=theme-picker>",!0,!1,!1);const Ge=250;function Ve(e){const n=ue(e),[o,t]=oe((n.all?.()??[]).map(a=>a)),c=()=>{const a=(n.all?.()??[]).map(p=>p);t(U(a))};c();const d=n.on("changed",c);return re(d),o}function te(e,n){return e.filter(o=>!o.unlisted&&(o.tags??[]).includes(n)).map(o=>({id:o.id,name:o.name||o.id})).sort((o,t)=>o.name.localeCompare(t.name))}const G=()=>Ie(),He=e=>{const n=()=>e.size??10;return(()=>{var o=De();return E(t=>{var c=n(),d=n();return c!==t.e&&I(o,"width",t.e=c),d!==t.t&&I(o,"height",t.t=d),t},{e:void 0,t:void 0}),o})()},We=()=>Re();function Je(e){const[n,o]=M(""),t=()=>{const c=n().trim();c&&(e.onAdd(c),o(""))};return(()=>{var c=Oe(),d=c.firstChild,a=d.firstChild,p=a.nextSibling,h=d.nextSibling;return v(c,y(V,{get each(){return e.available},children:s=>(()=>{var i=Se();return i.$$click=()=>e.onAdd(s.id),v(i,y(G,{}),null),v(i,()=>s.name,null),i})()}),d),a.$$keydown=s=>s.key==="Enter"&&t(),a.$$input=s=>o(s.currentTarget.value),p.$$click=t,v(p,y(G,{})),h.$$click=()=>e.onClose(),E(s=>{var i=e.customPlaceholder??"tool-id",r=!n().trim();return i!==s.e&&I(a,"placeholder",s.e=i),r!==s.t&&(p.disabled=s.t=r),s},{e:void 0,t:void 0}),E(()=>a.value=n()),c})()}function q(e){e.addEventListener("patchwork:subscribe",(n=>{n.detail.selector.type==="patchwork:selected-doc"?J(n,o=>{o([])}):n.detail.selector.type==="patchwork:selected-view"&&J(n,o=>{o(null)})}),!0)}function Ze(e){return(()=>{var n=Le(),o=n.firstChild;return v(o,()=>e.label),v(n,y(P,{get when(){return e.options.length>0},get fallback(){return je()},get children(){var t=Pe(),c=q;return typeof c=="function"?ne(c,t):q=t,v(t,y(V,{get each(){return e.options},children:d=>(()=>{var a=Me(),p=a.firstChild,h=p.firstChild,s=h.nextSibling;return a.$$click=()=>e.onChange(d.id),v(h,()=>d.name),v(s,y(We,{})),E(()=>I(a,"aria-checked",e.value===d.id)),a})()})),t}}),null),n})()}function Ke(e,n,o){return n===null||o===null?"":e===n?" dragging":o===n?"":n<o&&e>n&&e<=o?" shift-left":n>o&&e<n&&e>=o?" shift-right":""}function Ye(e){const[n,o]=M(!1),[t,c]=M(null),[d,a]=M(null);let p=null;const h=x(()=>e.values??[]),s=x(()=>new Set(h())),i=x(()=>e.allOptions.filter(u=>!s().has(u.id))),r=u=>e.allOptions.find(m=>m.id===u)?.name??u,l=u=>{e.setValues(h().filter((m,g)=>g!==u))},f=u=>{e.setValues([...h(),u])},C=u=>{p=u,a(u)},b=()=>{const u=t(),m=p;if(c(null),a(null),p=null,u==null||m==null||u===m)return;const g=[...h()],[k]=g.splice(u,1);g.splice(m,0,k),e.setValues(g)};return(()=>{var u=Te(),m=u.firstChild,g=m.nextSibling,k=g.firstChild,L=k.firstChild;v(m,()=>e.label);var A=q;return typeof A=="function"?ne(A,g):q=g,v(g,y(V,{get each(){return h()},children:(B,_)=>(()=>{var $=qe(),D=$.firstChild,R=D.nextSibling;return $.addEventListener("dragend",()=>b()),$.addEventListener("dragover",F=>{F.preventDefault(),F.dataTransfer.dropEffect="move",C(_())}),$.addEventListener("dragstart",F=>{F.dataTransfer.effectAllowed="move";const O=_();requestAnimationFrame(()=>{c(O),C(O)})}),I($,"draggable",!0),v(D,()=>r(B)),R.$$click=F=>{F.stopPropagation(),l(_())},v(R,y(He,{size:8})),E(F=>{var O=`toolbar-box${Ke(_(),t(),d())}`,H=`Remove ${r(B)}`;return O!==F.e&&W($,F.e=O),H!==F.t&&I(R,"aria-label",F.t=H),F},{e:void 0,t:void 0}),$})()}),k),L.$$click=()=>o(!n()),v(L,y(G,{})),v(k,y(P,{get when(){return n()},get children(){return y(Je,{get available(){return i()},onAdd:f,onClose:()=>o(!1)})}}),null),E(()=>W(g,`toolbar-strip${t()!==null?" is-dragging":""}`)),u})()}function Qe(e){const[n]=ee(()=>e.handle.url),[o,t]=ee(()=>n()?.tools?.threepane),c=Ve("patchwork:tool"),d=x(()=>te([...c],"frame-tool")),a=x(()=>te([...c],"titlebar-tool")),p=r=>typeof r=="string"?r:r[0],h=()=>o()?.doctitle?.tools?.map(p),s=r=>t()?.change(l=>{l.doctitle.tools=r.slice()}),i=(r,l)=>{e.handle.change(f=>{f[r]=l})};return y(P,{get when(){return n()},get fallback(){return Ne()},get children(){var r=Be();return v(r,y(Ze,{label:"Frame Tool",get value(){return n().frameToolId},onChange:l=>{i("frameToolId",l),setTimeout(async()=>{await e.element.repo.flush().catch(()=>null),window.location.reload()},Ge)},get options(){return d()}}),null),v(r,y(P,{get when(){return o()},get fallback(){return ze()},get children(){return y(Ye,{label:"Doc Titlebar",get values(){return h()},setValues:s,get allOptions(){return a()}})}}),null),v(r,y(P,{get when(){return n()?.toolStorage?.["theme-preferences"]},children:l=>(()=>{var f=Ue(),C=f.firstChild,b=C.nextSibling,u=b.firstChild;return u._$owner=ae(),E(()=>u.docUrl=l()),f})()}),null),r}})}function ot(e,n){const o=le(()=>y(ie.Provider,{get value(){return n.repo},get children(){return y(Qe,{handle:e,element:n})}}),n);return()=>o()}ce(["input","keydown","click"]);export{Qe as FrameConfigurator,ot as renderFrameConfigurator};
3
3
  //# sourceMappingURL=FrameConfigurator-DVRBzIR-.js.map