bb_component_superfieldrelationship 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # Super Field - Relationship
2
+
3
+ A custom Budibase form field component for link inputs (switch or checkbox).
4
+
5
+ ## Install in Budibase
6
+
7
+ 1. Build the plugin (see below) or download the release `.tar.gz` from `dist/`.
8
+ 2. In Budibase, open **Settings → Plugins → Add plugin**.
9
+ 3. Upload `bb_component_superfieldrelationship-1.0.0.tar.gz`.
10
+ 4. In the builder, find **Super Field - Boolean** in the components panel and drag it onto your screen.
11
+
12
+ ## Development
13
+
14
+ ```bash
15
+ bun install
16
+ bun link @poirazis/superlib # local superlib (run after every bun install)
17
+ bun run build # outputs dist/bb_component_superfieldrelationship-1.0.0.tar.gz
18
+ bun run watch # rebuild on change
19
+ ```
20
+
21
+ Built with Svelte 5. Requires a Budibase instance that supports Svelte 5 custom components.
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "bb_component_superfieldrelationship",
3
+ "version": "1.0.1",
4
+ "description": "Super Field - Relationship",
5
+ "license": "MIT",
6
+ "author": "Michael Poirazi - https://github.com/poirazis"
7
+ }
@@ -0,0 +1,2 @@
1
+ !function(){try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode(".simple-button.svelte-1mahf4q{border:1px solid var(--spectrum-global-color-gray-400);background-color:var(--spectrum-global-color-gray-100);color:var(--spectrum-global-color-gray-600);cursor:pointer;user-select:none;white-space:nowrap;text-overflow:ellipsis;border-radius:.5rem;flex:none;justify-content:center;align-items:center;gap:.35rem;min-width:0;max-width:100%;max-height:1.75rem;padding:.25rem .75rem;font-size:12px;font-weight:400;transition:all .15s ease-in-out;display:flex;overflow:hidden}.simple-button.field-button.svelte-1mahf4q{border:1px solid var(--spectrum-global-color-gray-200);border-radius:.25rem;padding:.25rem .5rem}.simple-button.view-mode.svelte-1mahf4q,.simple-button.disabled.svelte-1mahf4q{cursor:default}.simple-button.disabled.svelte-1mahf4q{opacity:.6}.simple-button.svelte-1mahf4q:hover:not(.disabled):not(.view-mode){background-color:var(--spectrum-global-color-gray-300);border-color:var(--spectrum-global-color-gray-300);color:var(--spectrum-global-color-gray-800)}.simple-button.svelte-1mahf4q:active:not(.disabled):not(.view-mode){border-color:var(--spectrum-global-color-gray-500);color:var(--spectrum-global-color-gray-800)}.simple-button.selected.svelte-1mahf4q{background-color:var(--option-color,var(--spectrum-global-color-gray-200));border-color:var(--spectrum-global-color-gray-400);color:var(--spectrum-global-color-gray-800);font-weight:600}.simple-button.warning.svelte-1mahf4q{background-color:var(--spectrum-global-color-red-400);color:#fff;border:1px solid #0000}.simple-button.warning.svelte-1mahf4q:hover:not(.disabled):not(.view-mode){background-color:var(--spectrum-global-color-red-700);color:#fff;border-color:#0000;font-weight:600}.simple-button.warning.svelte-1mahf4q:active:not(.disabled):not(.view-mode){border:1px dashed var(--spectrum-global-color-red-700);background-color:var(--spectrum-global-color-red-700);color:#fff;font-weight:600}.simple-button.warning.selected.svelte-1mahf4q{background-color:var(--spectrum-global-color-red-400);border-color:var(--spectrum-global-color-red-700);color:#fff;font-weight:600}.simple-button.icon-only.svelte-1mahf4q{aspect-ratio:1;border-radius:.25rem;flex:none;padding:.25rem}.label.svelte-1mahf4q{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.super-cell.svelte-5ns2ht{box-sizing:border-box;width:100%;min-width:0;height:2rem;color:var(--spectrum-global-color-gray-800);border:1px solid #0000;align-items:stretch;transition:background-color .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.super-cell.svelte-5ns2ht:focus,.super-cell.svelte-5ns2ht:focus-visible,.super-cell.svelte-5ns2ht:focus-within,.super-cell.svelte-5ns2ht :is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-visible),.super-cell.svelte-5ns2ht .switch-container:focus-visible{outline:none}.buttons.svelte-5ns2ht{align-items:center;gap:.25rem;padding-right:.25rem;display:flex}.super-cell.view.svelte-5ns2ht{background:var(--spectrum-global-color-gray-50)}.super-cell.view.svelte-5ns2ht:focus,.super-cell.view.svelte-5ns2ht:focus-within{border-color:var(--spectrum-global-color-static-blue-400)}.super-cell.view.svelte-5ns2ht:hover{border-color:rgb(from var(--spectrum-global-color-static-blue-400) r g b / .5);background:var(--spectrum-global-color-gray-50);cursor:text}.super-cell.view.readonly.svelte-5ns2ht:hover{cursor:default}.super-cell.view.disabled.svelte-5ns2ht:hover{cursor:not-allowed}.super-cell.view.error.svelte-5ns2ht{border-color:var(--spectrum-global-color-red-500)}.super-cell.editing.svelte-5ns2ht{border-color:var(--spectrum-global-color-static-blue-400);background:var(--spectrum-global-color-gray-50)}.super-cell.error.editing.svelte-5ns2ht,.super-cell.error.editing.svelte-5ns2ht:focus,.super-cell.error.editing.svelte-5ns2ht:focus-within{border-color:var(--spectrum-global-color-red-500)}.super-cell.disabled.svelte-5ns2ht{background:var(--spectrum-global-color-gray-200);color:var(--spectrum-global-color-gray-500);cursor:default}.super-cell.readonly.svelte-5ns2ht{cursor:default;background:rgb(from var(--spectrum-global-color-gray-50) r g b / .75);border-color:var(--spectrum-global-color-gray-100);color:var(--spectrum-global-color-gray-700)}.super-cell.copyable.svelte-5ns2ht{color:var(--spectrum-global-color-gray-700);border-color:var(--spectrum-global-color-gray-300);background:var(--spectrum-global-color-gray-50);cursor:pointer}.super-cell.copyable.svelte-5ns2ht:hover,.super-cell.copyable.svelte-5ns2ht:focus{border-color:var(--spectrum-global-color-gray-400);background:var(--spectrum-global-color-gray-100)}.super-cell.justCopied.svelte-5ns2ht{border-color:rgb(from var(--spectrum-global-color-static-green-400) r g b / .75)!important}.super-cell.justCopied.svelte-5ns2ht .copy-icon:where(.svelte-5ns2ht){color:var(--spectrum-global-color-green-700);opacity:1}.super-cell.copyable.icon-on-hover.svelte-5ns2ht .copy-icon:where(.svelte-5ns2ht){opacity:0}.super-cell.copyable.svelte-5ns2ht:hover .copy-icon:where(.svelte-5ns2ht),.super-cell.copyable.svelte-5ns2ht:focus .copy-icon:where(.svelte-5ns2ht){opacity:.85;cursor:pointer}.super-cell.copyable.svelte-5ns2ht:hover .copy-icon:where(.svelte-5ns2ht):hover,.super-cell.copyable.svelte-5ns2ht:focus .copy-icon:where(.svelte-5ns2ht):hover{opacity:1}.super-cell.form.svelte-5ns2ht{--super-cell-padding:0rem .75rem;border-color:var(--spectrum-global-color-gray-300);border-radius:.25rem;font-size:13px}.super-cell.form.view.with-popup.svelte-5ns2ht:hover{border-color:var(--spectrum-global-color-gray-300);background:var(--spectrum-global-color-gray-100);cursor:pointer}.super-cell.form.editing.with-popup.svelte-5ns2ht{border-color:var(--spectrum-global-color-gray-300);background:var(--spectrum-global-color-gray-100)}.super-cell.form.editing.svelte-5ns2ht:is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within,.with-popup:where(.svelte-5ns2ht):is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within)){border-color:var(--spectrum-global-color-blue-400)}.super-cell.cell.svelte-5ns2ht{--super-cell-padding:0 var(--super-table-cell-padding,.75rem);height:auto;color:inherit;background:0 0;border:1px solid #0000;font-size:12px;line-height:1.25}.super-cell.cell.svelte-5ns2ht .value-contents{font-size:inherit}.super-cell.cell.view.svelte-5ns2ht:hover{border-color:rgb(from var(--spectrum-global-color-static-blue-400) r g b / .5);cursor:text}.super-cell.cell.view.with-popup.svelte-5ns2ht:hover{cursor:pointer}.super-cell.cell.view.svelte-5ns2ht:is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within){border-color:var(--spectrum-global-color-static-blue-400)}.super-cell.cell.editing.svelte-5ns2ht{border-color:var(--spectrum-global-color-static-blue-400);background:var(--spectrum-global-color-gray-50)}.super-cell.cell.editing.with-popup.svelte-5ns2ht{border-color:var(--spectrum-global-color-blue-400);cursor:pointer}.super-cell.cell.editing.svelte-5ns2ht:is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within,.with-popup:where(.svelte-5ns2ht):is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within)){border-color:var(--spectrum-global-color-blue-400)}.super-cell.cell.error.editing.svelte-5ns2ht,.super-cell.cell.error.editing.svelte-5ns2ht:is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within){border-color:var(--spectrum-global-color-red-500)}.super-cell.cell.svelte-5ns2ht:not(.editing) .control-icon,.super-cell.cell.svelte-5ns2ht:not(.editing) .action-icon{display:none}.super-cell.isDirty.svelte-5ns2ht{border-left:2px solid var(--spectrum-global-color-orange-400)!important}.super-cell.form.naked-field.svelte-5ns2ht{height:auto;min-height:unset;padding:unset!important;background:0 0!important;border-color:#0000!important;max-width:fit-content!important}.super-cell.form.naked-field.svelte-5ns2ht:is(.view:where(.svelte-5ns2ht),.editing:where(.svelte-5ns2ht),.readonly:where(.svelte-5ns2ht),.disabled:where(.svelte-5ns2ht)){background:0 0;border-color:#0000}.super-cell.form.naked-field.svelte-5ns2ht:is(.view:where(.svelte-5ns2ht),.editing:where(.svelte-5ns2ht)):hover,.super-cell.form.naked-field:is(.view:where(.svelte-5ns2ht),.editing:where(.svelte-5ns2ht)).with-popup.svelte-5ns2ht:hover{cursor:pointer;background:0 0;border-color:#0000}.super-cell.form.naked-field.svelte-5ns2ht:is(:where(.svelte-5ns2ht):focus,:where(.svelte-5ns2ht):focus-within),.super-cell.form.naked-field.error.svelte-5ns2ht{border-color:#0000}.super-cell.form.multirow.svelte-5ns2ht{--super-cell-padding:.5rem .75rem;align-items:flex-start;height:auto}.super-cell.form.multirow.svelte-5ns2ht :is(.copy-icon:where(.svelte-5ns2ht),.field-icon:where(.svelte-5ns2ht),.clear-icon:where(.svelte-5ns2ht),.error-icon:where(.svelte-5ns2ht)){align-self:flex-start;margin-top:.5rem}.super-cell.form.multirow.svelte-5ns2ht :is(.field-icon:where(.svelte-5ns2ht),.clear-icon:where(.svelte-5ns2ht),.error-icon:where(.svelte-5ns2ht)){padding-left:.5rem}.super-cell.form.multirow.svelte-5ns2ht .field-icon:where(.svelte-5ns2ht){color:var(--spectrum-global-color-gray-600)}.super-cell.form.multirow.svelte-5ns2ht .buttons:where(.svelte-5ns2ht){flex-direction:column;align-items:flex-start;margin-top:.25rem;margin-bottom:.5rem}.super-cell.svelte-5ns2ht>:is(.copy-icon:where(.svelte-5ns2ht),.control-icon:where(.svelte-5ns2ht)){opacity:.5;justify-content:center;align-self:stretch;align-items:center;padding-left:.5rem;padding-right:.5rem;font-size:15px;transition:color .15s,opacity .15s;display:flex}.super-cell.svelte-5ns2ht>.copy-icon:where(.svelte-5ns2ht){color:var(--spectrum-global-color-gray-600);border-left:1px solid var(--spectrum-global-color-gray-300)}.super-cell.svelte-5ns2ht>.control-icon:where(.svelte-5ns2ht){color:var(--spectrum-global-color-gray-700)}.super-cell.svelte-5ns2ht:hover>.control-icon:where(.svelte-5ns2ht),.super-cell.copyable.svelte-5ns2ht>.copy-icon:where(.svelte-5ns2ht),.super-cell.copyable.svelte-5ns2ht:hover>.copy-icon:where(.svelte-5ns2ht){cursor:pointer}.super-cell.svelte-5ns2ht:hover>.control-icon:where(.svelte-5ns2ht){opacity:1}.super-cell.svelte-5ns2ht :is(.error-icon:where(.svelte-5ns2ht),.field-icon:where(.svelte-5ns2ht)){align-self:center;padding-left:.75rem}.error-icon.svelte-5ns2ht,.clear-icon.svelte-5ns2ht{font-size:14px}.error-icon.svelte-5ns2ht{color:var(--spectrum-global-color-red-500)}.clear-icon.svelte-5ns2ht{color:var(--spectrum-global-color-red-400);z-index:1}.field-icon.svelte-5ns2ht{color:var(--spectrum-global-color-gray-600)}.clear-icon.svelte-5ns2ht:hover{color:var(--spectrum-global-color-red-700);cursor:pointer}.super-cell :is(input,textarea).editor{box-sizing:border-box;width:0;min-width:0;max-width:100%;height:100%;color:inherit;padding:var(--super-cell-padding);font-style:inherit;font-size:inherit;cursor:inherit;background:0 0;border:none;outline:none;flex:1 1 0}.super-cell :is(input,textarea).editor:is(.svelte-5ns2ht:focus,.svelte-5ns2ht:focus-visible){background:var(--spectrum-global-color-gray-50);outline:none}.super-cell textarea.editor{font-family:inherit;font-weight:inherit;resize:vertical}.super-cell :is(input,textarea).editor.placeholder{color:var(--spectrum-global-color-gray-600)!important;font-style:italic!important}.hide-popover.svelte-1vbe9zl{display:contents}.spectrum-Popover.svelte-1vbe9zl{border-color:var(--spectrum-global-color-gray-300);background-color:var(--spectrum-global-color-gray-50);overflow:auto}.customZindex.svelte-1vbe9zl{z-index:var(--customZindex)!important}.value-contents.svelte-77dz4c{min-width:0;max-width:100%;height:100%;color:inherit;cursor:inherit;padding:var(--super-cell-padding);background:0 0;border:none;outline:none;flex:auto;align-items:center;font-size:13px;display:flex}.value.svelte-77dz4c{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.value.svelte-77dz4c:has(.items:where(.svelte-77dz4c)){align-items:center;display:flex}.value-contents.placeholder.svelte-77dz4c{color:var(--spectrum-global-color-gray-500);font-style:italic!important}.items.svelte-77dz4c{flex-wrap:nowrap;flex:auto;align-items:center;gap:.5rem;width:100%;min-width:0;display:flex;overflow:hidden}.item.svelte-77dz4c{flex:0 auto;align-items:center;gap:.35rem;min-width:0;max-width:100%;padding:0 .5rem;display:flex;overflow:hidden}.item.svelte-77dz4c i:where(.svelte-77dz4c){flex-shrink:0}.item.svelte-77dz4c span:where(.svelte-77dz4c){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.items.pills.svelte-77dz4c .item:where(.svelte-77dz4c){background-color:var(--spectrum-global-color-gray-100);border:1px solid var(--spectrum-global-color-gray-200);border-radius:4px;padding:.25rem .5rem;font-size:12px}.items.links.svelte-77dz4c .item:where(.svelte-77dz4c){cursor:pointer;color:var(--spectrum-global-color-blue-600)}.items.links.svelte-77dz4c .item:where(.svelte-77dz4c):hover{text-decoration:underline}.count.svelte-77dz4c{color:var(--spectrum-global-color-gray-600);flex-shrink:0;font-size:12px}.popup.svelte-77dz4c{flex-direction:column;min-width:0;display:flex;overflow:hidden}.popup-search.svelte-77dz4c{border-bottom:1px solid var(--spectrum-global-color-gray-300);flex-shrink:0;align-items:center;gap:.25rem;min-width:0;height:2rem;padding:0 .25rem 0 .75rem;display:flex}.popup-search.svelte-77dz4c>i:where(.svelte-77dz4c){color:var(--spectrum-global-color-gray-600)}.clear-icon.svelte-77dz4c{cursor:pointer;color:var(--spectrum-global-color-red-400);border-radius:4px;padding:.25rem}.clear-icon.svelte-77dz4c:hover{background-color:var(--spectrum-global-color-gray-100);color:var(--spectrum-global-color-red-700)}.popup-search.svelte-77dz4c>input:where(.svelte-77dz4c){min-width:0;max-width:100%;height:100%;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1;padding-left:.5rem}.popup-search.svelte-77dz4c>input.placeholder:where(.svelte-77dz4c){color:var(--spectrum-global-color-gray-600);font-style:italic}.options.svelte-77dz4c{flex-direction:column;height:auto;max-height:300px;display:flex;overflow:hidden auto}.option.svelte-77dz4c{cursor:pointer;align-items:center;gap:.5em;min-width:0;padding:.5em 1em;display:flex}.option.disabled.svelte-77dz4c{color:var(--spectrum-global-color-gray-500);cursor:not-allowed;gap:.5rem}.option.loading.svelte-77dz4c{justify-content:center;font-style:italic}.option.svelte-77dz4c:hover,.option.highlighted.svelte-77dz4c{background-color:var(--spectrum-global-color-gray-100)}.option.selected.svelte-77dz4c{font-weight:500}.label.svelte-77dz4c{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.picker-loading.svelte-77dz4c{min-height:200px;color:var(--spectrum-global-color-gray-500);justify-content:center;align-items:center;gap:.5rem;font-style:italic;display:flex}.spin{animation:1s linear infinite svelte-77dz4c-spin}@keyframes svelte-77dz4c-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.super-field.svelte-gmb99o{width:100%;min-width:80px;min-height:var(--field-height,2rem);flex-direction:column;flex:1;align-items:stretch;display:flex;overflow:hidden}.super-field.multirow.svelte-gmb99o{max-height:var(--field-height)}.super-field.left-label.svelte-gmb99o{flex-direction:row;align-items:center;gap:.75rem}.super-field.tall.svelte-gmb99o{height:100%;max-height:unset;justify-content:stretch}.super-field.tall.left-label.svelte-gmb99o{align-items:stretch}.inline-cells.svelte-gmb99o{align-items:stretch;width:100%;min-width:0;height:100%;min-height:2rem;display:flex;overflow:hidden}.superlabel.svelte-gmb99o{color:var(--spectrum-global-color-gray-600);justify-content:space-between;align-items:center;gap:1rem;padding-left:2px;font-family:inter,sans-serif;line-height:1.65rem;display:flex;overflow:hidden}.superlabel.left.svelte-gmb99o{flex:0 1 var(--label-width);flex-direction:column;justify-content:center;align-items:flex-start;gap:0;min-width:0;padding-left:0;line-height:1rem}.superlabel.left.tall.svelte-gmb99o{justify-content:flex-start;padding-top:.5rem}.superlabel.svelte-gmb99o>.label:where(.svelte-gmb99o){text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.superlabel.left.svelte-gmb99o>.label:where(.svelte-gmb99o){width:100%}.superlabel.svelte-gmb99o>.label.has-interaction:where(.svelte-gmb99o){cursor:help}.superlabel.svelte-gmb99o>.error-message:where(.svelte-gmb99o){color:var(--spectrum-global-color-red-400);white-space:nowrap;font-size:10px}.super-button.svelte-2mtbnl{border:1px solid var(--spectrum-global-color-gray-400);background-color:var(--spectrum-global-color-gray-50);color:var(--spectrum-global-color-gray-800);justify-content:center;align-items:center;gap:.75rem;min-width:4rem;height:2rem;padding:0 1rem;transition:all .15s ease-in-out;display:flex;&.spectrum-ActionButton{border-radius:4px!important;padding:0 .75rem!important}&.spectrum-ActionButton.xsmall{border-radius:4px!important;padding:0 .5rem!important}&.xsmall{height:1.5rem;min-width:unset;border-radius:1rem;gap:.5rem;padding:0 .5rem;font-size:12px;&>i:where(.svelte-2mtbnl){font-size:15px}}&.small{gap:.5rem;min-width:4rem;height:1.75rem;padding:0 .75rem;font-size:13px}&.large{height:2.25rem;padding:0 1.25rem;font-size:16px;&>i:where(.svelte-2mtbnl){font-size:18px}}&>span:where(.svelte-2mtbnl){white-space:nowrap;font-weight:600}&.icon{&>i:where(.svelte-2mtbnl){display:block}}&.iconOnly{min-width:unset;aspect-ratio:1;border-radius:.25rem;padding:0 .5rem;&>span:where(.svelte-2mtbnl){display:none}}&>i:where(.svelte-2mtbnl){opacity:.9;display:none}}.menu-item.svelte-2mtbnl{border-radius:0;justify-content:flex-start;width:100%;font-weight:500;border:unset!important;background-color:#0000!important;&:hover{color:var(--spectrum-global-color-gray-900);background-color:var(--spectrum-global-color-gray-200)!important}}.menu-item-right.svelte-2mtbnl{width:100%;justify-content:flex-end!important}.full-width.svelte-2mtbnl{width:100%}.cta.svelte-2mtbnl{background-color:var(--spectrum-global-color-blue-400);color:#fff;border:1px solid #0000;&.quiet{border:1px solid var(--spectrum-global-color-blue-100);color:var(--spectrum-global-color-blue-700);background-color:#0000;&:hover{background-color:var(--spectrum-global-color-blue-400);color:#fff}&:focus{border:1px dashed var(--spectrum-global-color-blue-700);font-weight:bolder}}&:hover{background-color:var(--spectrum-global-color-blue-600);border-color:var(--spectrum-global-color-blue-600)}&:active{border:1px solid var(--spectrum-global-color-blue-700)}}.ink.svelte-2mtbnl{background-color:var(--spectrum-global-color-gray-800);color:var(--spectrum-global-color-gray-50);border:1px solid #0000;&.quiet{color:var(--spectrum-global-color-gray-800);background-color:#0000;border-color:#0000!important;&:hover,&:focus{color:var(--spectrum-global-color-gray-50);background-color:var(--spectrum-global-color-gray-900)}}&:hover,&:focus:not(.working){background-color:var(--spectrum-global-color-gray-900)}}.primary.svelte-2mtbnl{&:hover,&:focus{border:1px solid var(--spectrum-global-color-gray-500);background-color:var(--spectrum-global-color-gray-200);color:var(--spectrum-global-color-gray-900)}&:active{background-color:var(--spectrum-global-color-gray-100);scale:.9}&.quiet{background-color:#0000;border-color:#0000;&:hover{background-color:var(--spectrum-global-color-gray-400);color:var(--spectrum-global-color-gray-900)}}}.secondary.svelte-2mtbnl{background-color:var(--spectrum-global-color-gray-200);color:var(--spectrum-global-color-gray-700);border-color:#0000;font-weight:500;&.quiet{background-color:#0000;&:hover{background-color:var(--spectrum-global-color-gray-300)}}&:hover{background-color:var(--spectrum-global-color-gray-300);color:var(--spectrum-global-color-gray-900)}&:focus{border:1px dashed var(--spectrum-global-color-gray-400);color:var(--spectrum-global-color-gray-900)}}.warning.svelte-2mtbnl{background-color:var(--spectrum-global-color-red-400);color:#fff;border:1px solid #0000;&.quiet{color:var(--spectrum-global-color-red-400);background-color:#0000;border-color:#0000;&:hover{border-color:var(--spectrum-global-color-red-400);background-color:var(--spectrum-global-color-red-400);color:#fff;font-weight:bolder}&:focus{border:1px dashed var(--spectrum-global-color-red-700);font-weight:bolder}}&:hover:not(.quiet){background-color:var(--spectrum-global-color-red-700);font-weight:bolder}&:focus{border:1px dashed var(--spectrum-global-color-red-700);font-weight:bolder}}.overBackground.svelte-2mtbnl{background-color:#0000;&.quiet{border:unset}}.disabled.svelte-2mtbnl{cursor:not-allowed;border-color:var(--spectrum-global-color-gray-300);background-color:var(--spectrum-global-color-gray-200)!important;color:var(--spectrum-global-color-gray-400)!important;&.quiet{background-color:unset!important;border:1px solid #0000!important}}.working.svelte-2mtbnl{cursor:progress;border:1px solid var(--spectrum-global-color-gray-400)!important;background-color:var(--spectrum-global-color-gray-300)!important;&>span:where(.svelte-2mtbnl){color:var(--spectrum-global-color-gray-600)!important}&>i:where(.svelte-2mtbnl){display:block;color:var(--spectrum-global-color-gray-700)!important;animation:1s linear infinite svelte-2mtbnl-spin!important}}@keyframes svelte-2mtbnl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.buttons.svelte-1l9u2si{justify-content:flex-start;align-items:center;gap:.5rem;margin-left:.5rem;display:flex}.plugin-error.svelte-1q1ah0h{border:1px solid var(--spectrum-global-color-red-400);background:var(--spectrum-global-color-red-100);color:var(--spectrum-global-color-red-800);box-sizing:border-box;border-radius:4px;flex-direction:column;gap:.25rem;width:100%;padding:.5rem .75rem;font-size:13px;display:flex}.plugin-error-title.svelte-1q1ah0h{font-weight:600}.plugin-error-detail.svelte-1q1ah0h{color:var(--spectrum-global-color-red-700);word-break:break-word;font-size:12px}\n/*$vite$:1*/")),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}}();
2
+ var plugin=function(e,t,n,i){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});var o,r,l,a=Object.create,s=Object.defineProperty,d=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyNames,c=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;function g(e,t={}){const n=new Set;let i;function o(n,...o){const r=t[e]?.[n]??t["*"]?.[n];return r instanceof Function?r.apply(i,o):r}function r(t,...i){const r=o(t,...i)?.valueOf();return["string","symbol"].includes(typeof r)&&r!==e&&function(t,i,r){const l={from:e,to:t,event:i,args:r};o("_exit",l),e=t,n.forEach(t=>t(e)),o("_enter",l)}(r,t,i),e}const l={};async function a(t,n=100,...i){return clearTimeout(l[t]),null===n?e:(await new Promise(e=>l[t]=setTimeout(e,n)),delete l[t],r(t,...i))}return i=new Proxy({subscribe:function(t){if(!(t instanceof Function))throw new TypeError("callback is not a function");return n.add(t),t(e),()=>n.delete(t)}},{get:(e,t)=>(Reflect.has(e,t)||(e[t]=r.bind(null,t),e[t].debounce=a.bind(null,t)),Reflect.get(e,t))}),o("_enter",{from:null,to:e,event:null,args:[]}),i}l=null!=(o=t)?a(c(o)):{};var f=(t=((e,t,n,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var o,r=p(t),l=0,a=r.length;l<a;l++)o=r[l],u.call(e,o)||o===n||s(e,o,{get:(e=>t[e]).bind(null,o),enumerable:!(i=d(t,o))||i.enumerable});return e})(!r&&o&&o.__esModule?l:s(l,"default",{value:o,enumerable:!0}),o)).from_html("<i></i>"),v=t.from_html('<span class="label svelte-1mahf4q"> </span>'),h=t.from_html("<div><!> <!></div>");function m(e){if(function(e){return null==e||""===e||"default"===String(e).trim().toLowerCase()}(e))return e??null;switch(String(e).trim().toLowerCase()){case"left":case"flex-start":case"start":return"flex-start";case"center":return"center";case"right":case"flex-end":case"end":return"flex-end";default:return e}}function b(e,t){return"onhover"===e&&(null==t||""===String(t).trim()||"right"!==function(e){switch(m(e)){case"flex-end":case"end":case"right":return"right";case"center":return"center";default:return"left"}}(t))}function y(e,t="_id"){return null==e||""===e?[]:Array.isArray(e)?e.map(e=>"string"==typeof e?e:e&&"object"==typeof e&&t in e?String(e[t]):null).filter(e=>null!=e):"string"==typeof e?[e]:"object"==typeof e&&null!==e&&t in e?[String(e[t])]:[]}function _(e,t){if(null!=e.primaryDisplay&&""!==e.primaryDisplay)return String(e.primaryDisplay);if(t&&null!=e[t]&&""!==e[t])return String(e[t]);const n=function(e){if(!e)return;const t=Object.keys(e);return t.length?t[0]:void 0}(e);return n&&null!=e[n]&&""!==e[n]?String(e[n]):String(e._id??e.id??"")}function w(e){return"cell"===e}function k(e,t=!1){return!w(e)||t}function x(e,t="copyable"){return{_enter(){setTimeout(()=>e().goTo(t),400)}}}async function T(e,t){await async function(e){try{return await navigator.clipboard.writeText(e),!0}catch(t){return console.error("Failed to copy to clipboard:",t),!1}}(t)&&e().goTo("justCopied")}var S=!1,C=!1;function D(){S=!0}function $(){C=!0}var O=t.from_html('<i class="ph ph-warning error-icon svelte-5ns2ht" title="Error"></i>'),V=t.from_html("<i></i>"),A=t.from_html('<i class="ph ph-x control-icon clear-icon svelte-5ns2ht" role="button" title="Clear value"></i>'),E=t.from_html("<i></i>"),P=t.from_html('<div class="buttons svelte-5ns2ht"></div>'),I=t.from_html('<i role="button" tabindex="-1" title="Copy"></i>'),L=t.from_html("<div><!> <!> <!> <!> <!> <!> <!></div>");function M(e,i){t.push(i,!0);const o=()=>t.store_get(i.csm,"$csm",r),[r,l]=t.setup_stores(),a=()=>{try{"view"===o()&&$(),i.csm.toggle()}finally{S=!1}};let s=t.prop(i,"role",3,"form"),d=t.prop(i,"clearable",3,!1),p=t.prop(i,"error",3,!1),c=t.prop(i,"isDirty",3,!1),u=t.prop(i,"multirow",3,!1),g=t.prop(i,"copyIcon",3,"always"),m=t.prop(i,"align",3,void 0),y=t.prop(i,"controlIcon",3,void 0);t.prop(i,"grabber",3,!1);let _=t.prop(i,"naked",3,!1),w=t.prop(i,"popupOpen",3,void 0),x=t.prop(i,"anchor",15,null),T=t.prop(i,"buttons",3,void 0),C=t.derived(()=>i.tabindex??("view"==o()||"copyable"==o()?0:-1)),M=t.derived(()=>"justCopied"===o()?"ph ph-check":"ph ph-copy"),z=t.derived(()=>b(g(),m())),B=t.derived(()=>"editing"===o()),F=t.derived(()=>!!i.icon&&k(s(),t.get(B)));var W=L();let j,U;var q=t.child(W),H=e=>{var n=O();t.append(e,n)};t.if(q,e=>{p()&&e(H)});var R=t.sibling(q,2),N=e=>{var n=V();t.template_effect(()=>{t.set_class(n,1,"ph ph-"+i.icon+" field-icon","svelte-5ns2ht"),t.set_attribute(n,"title",i.icon)}),t.append(e,n)};t.if(R,e=>{t.get(F)&&e(N)});var G=t.sibling(R,2);t.snippet(G,()=>i.children??t.noop);var Q=t.sibling(G,2),Z=e=>{var n=A();t.event("mousedown",n,t.preventDefault(function(...e){i.csm.clear?.apply(this,e)})),t.append(e,n)};t.if(Q,e=>{d()&&e(Z)});var K=t.sibling(Q,2),J=e=>{var n=E();t.template_effect(()=>t.set_class(n,1,y()+" control-icon","svelte-5ns2ht")),t.event("mousedown",n,t.preventDefault(t.stopPropagation(function(...e){D?.apply(this,e)})),!0),t.event("click",n,t.preventDefault(t.stopPropagation(a))),t.append(e,n)};t.if(K,e=>{"view"!==o()&&"editing"!=o()||!y()||e(J)});var X=t.sibling(K,2),Y=e=>{var o=P();t.each(o,21,T,t.index,(e,i)=>{!function(e,i){t.push(i,!0);const o=(0,n.createEventDispatcher)();let r=t.prop(i,"selected",3,!1),l=t.prop(i,"disabled",3,!1),a=t.prop(i,"viewMode",3,!1),s=t.prop(i,"iconOnly",3,!1),d=t.prop(i,"color",3,void 0),p=t.prop(i,"icon",3,void 0),c=t.prop(i,"label",3,""),u=t.prop(i,"fieldbutton",3,!1),g=t.prop(i,"variant",3,"default");var m=h();let b,y;var _=t.child(m),w=e=>{var n=f();t.template_effect(()=>t.set_class(n,1,t.clsx(p()),"svelte-1mahf4q")),t.append(e,n)};t.if(_,e=>{p()&&e(w)});var k=t.sibling(_,2),x=e=>{var n=v(),i=t.child(n,!0);t.reset(n),t.template_effect(()=>t.set_text(i,c())),t.append(e,n)};t.if(k,e=>{!s()&&c()&&e(x)}),t.reset(m),t.template_effect(()=>{b=t.set_class(m,1,"simple-button svelte-1mahf4q",null,b,{selected:r(),disabled:l(),"icon-only":s(),"view-mode":a(),"field-button":u(),warning:"warning"===g()}),y=t.set_style(m,"",y,{"--option-color":d()})}),t.event("click",m,function(){l()||a()||o("click")}),t.append(e,m),t.pop()}(e,t.spread_props({fieldbutton:!0,get label(){return t.get(i).text}},()=>t.get(i),{$$events:{click(...e){t.get(i).onClick?.apply(this,e)}}}))}),t.reset(o),t.event("mousedown",o,t.preventDefault(function(e){t.bubble_event.call(this,i,e)})),t.append(e,o)};t.if(X,e=>{T()?.length&&"copyable"!==o()&&"justCopied"!==o()&&e(Y)});var ee=t.sibling(X,2),te=e=>{var n=I();t.template_effect(()=>t.set_class(n,1,t.get(M)+" copy-icon","svelte-5ns2ht")),t.event("click",n,t.preventDefault(t.stopPropagation(function(...e){i.csm.copy?.apply(this,e)}))),t.append(e,n)};t.if(ee,e=>{"copyable"!==o()&&"justCopied"!==o()||e(te)}),t.reset(W),t.bind_this(W,e=>x(e),()=>x()),t.template_effect(()=>{t.set_attribute(W,"id",i.id),t.set_attribute(W,"tabindex",t.get(C)),j=t.set_class(W,1,`super-cell ${s()??""} ${o()??""}`,"svelte-5ns2ht",j,{error:p(),"with-popup":void 0!==w(),open:w(),multirow:u(),"naked-field":_(),"icon-on-hover":"copyable"===o()&&t.get(z),isDirty:c()}),t.set_attribute(W,"title","copyable"===o()?"Click copy icon to copy":void 0),U=t.set_style(W,"",U,{color:i.color,background:i.background})}),t.event("focusin",W,function(...e){i.csm.focus?.apply(this,e)}),t.event("focusout",W,function(...e){i.csm.focusout?.apply(this,e)}),t.event("click",W,function(...e){i.csm.click?.apply(this,e)}),t.event("keydown",W,function(...e){i.csm.keydown?.apply(this,e)}),t.append(e,W),t.pop(),l()}function z(e,n){var i=t.comment(),o=t.first_child(i);t.snippet(o,()=>n.children??t.noop),t.append(e,i)}var B=[".flatpickr-calendar",".spectrum-Popover",".download-js-link"],F=[],W=e=>{if(!e.target.closest('[data-ignore-click-outside="true"]')){for(let t of B)if(e.target.closest(t))return;F.forEach(t=>{if(t.element.contains(e.target))return;const n=null!=t.anchor.closest(".spectrum-Underlay");(null==e.target.closest(".spectrum-Underlay")||n)&&t.callback?.(e)})}};document.documentElement.addEventListener("click",W,!0),document.documentElement.addEventListener("contextmenu",W,!0);var j=(e,t)=>{const n=Math.random(),i=t=>{const i=t?.callback||t;((e,t,n,i)=>{let o=F.find(t=>t.id===e);o?o.callback=i:F.push({id:e,element:t,anchor:n,callback:i})})(n,e,t?.anchor||e,i)};return i(t),{update:i,destroy:()=>(e=>{F=F.filter(t=>t.id!==e)})(n)}},U=t.from_html('<div tabindex="0" role="presentation"><!></div>');function q(e,o){t.push(o,!0);const r=(0,n.createEventDispatcher)();let l=t.prop(o,"align",3,"right"),a=t.prop(o,"open",15,!1),s=t.prop(o,"useAnchorWidth",3,!1),d=t.prop(o,"dismissible",3,!0),p=t.prop(o,"offset",3,5),c=t.prop(o,"animate",3,!0),u=t.prop(o,"showPopover",3,!0),g=t.prop(o,"clickOutsideOverride",3,!1),f=t.prop(o,"ignoreAnchor",3,!0),v=t.prop(o,"popup",15),h=t.derived(()=>o.portalTarget||".spectrum");const m=()=>{r("open"),a(!0)},b=()=>{r("close"),a(!1)},y=e=>{if(!g()&&a()){let t=e.target,n=!1;for(;!n&&t&&t.parentNode;)n=t===o.anchor,t=t.parentNode;(!n||n&&!f())&&b()}};function _(e){g()&&a()&&"Escape"===e.key&&b()}var w={show:m,hide:b,toggle:()=>{a()?b():m()},hasFocus:()=>v()?.matches(":focus-within")},k=t.comment(),x=t.first_child(k),T=e=>{!function(e,i){t.push(i,!0);const o=t.prop(i,"disabled",3,!1);t.user_effect(()=>{let e,t;if(!o()){if(i.target)return t="string"==typeof i.target?document.querySelector(i.target):i.target,t&&(e=(0,n.mount)(z,{target:t,props:{children:i.children}})),()=>{e&&(0,n.unmount)(e)};console.warn(`[svelte-portal] Invalid Portal target: ${i.target}`)}});var r=t.comment(),l=t.first_child(r),a=e=>{var n=t.comment(),o=t.first_child(n);t.snippet(o,()=>i.children),t.append(e,n)};t.if(l,e=>{o()&&e(a)}),t.append(e,r),t.pop()}(e,{get target(){return t.get(h)},children:(e,n)=>{var r=U();let g;var f=t.child(r);t.snippet(f,()=>o.children??t.noop),t.reset(r),t.bind_this(r,e=>v(e),()=>v()),t.action(r,(e,t)=>function(e,t){let n,i=t,o=null,r="",l=!1;const a=()=>{d(i)},s=()=>{const{anchor:t}=i;if(!t)return void(o=requestAnimationFrame(s));if(!t.isConnected)return void(l||(l=!0,e.dispatchEvent(new CustomEvent("anchorlost",{bubbles:!1}))));l=!1;const n=`${(a=t.getBoundingClientRect()).top},${a.left},${a.width},${a.height}`;var a;n!==r&&(r=n,d(i)),o=requestAnimationFrame(s)},d=t=>{const{anchor:n,align:i,maxHeight:o,maxWidth:r,minWidth:l=0,useAnchorWidth:a,offset:s=5,customUpdate:d,offsetBelow:p}=t;if(!n||!n.isConnected)return;const c=n.getBoundingClientRect(),u=e.getBoundingClientRect();let g={maxHeight:null,minWidth:null,maxWidth:r,left:null,top:null};"function"==typeof d?g=d(c,u,g):("right-outside"===i||"left-outside"===i?g.top=c.top:window.innerHeight-c.bottom<(o||50)?(g.top=c.top-u.height-s,g.maxHeight=o||240):(g.top=c.bottom+(p||s),g.maxHeight=o||window.innerHeight-c.bottom-20),!r&&a&&(g.maxWidth=c.width),a?g.minWidth=Math.max(l,c.width):l&&(g.minWidth=l),g.left="right"===i?c.left+c.width-u.width:"right-outside"===i?c.right+s:"left-outside"===i?c.left-u.width-s:c.left),Object.entries(g).forEach(([t,n])=>{e.style[t]=null!=n?`${n.toFixed(0)}px`:null})},p=t=>{i=t,r="",n&&n.disconnect();const{anchor:o}=t;o&&(n=new ResizeObserver(()=>d(t)),n.observe(o),n.observe(e),n.observe(document.body),d(t))};return e.style.position="fixed",e.style.zIndex="9999",document.addEventListener("scroll",a,!0),p(t),o=requestAnimationFrame(s),{update:p,destroy(){o&&(cancelAnimationFrame(o),o=null),n&&n.disconnect(),document.removeEventListener("scroll",a,!0)}}}?.(e,t),()=>({anchor:o.anchor,align:l(),maxHeight:o.maxHeight,maxWidth:o.maxWidth,minWidth:o.minWidth,useAnchorWidth:s(),offset:p(),offsetBelow:o.offsetBelow,customUpdate:o.handlePositionUpdate})),t.action(r,(e,t)=>j?.(e,t),()=>({callback:d()?y:()=>{},anchor:o.anchor})),t.effect(()=>t.event("keydown",r,_)),t.effect(()=>t.event("focusout",r,function(...e){o.onFocusout?.apply(this,e)})),t.effect(()=>t.event("anchorlost",r,b)),t.template_effect(()=>{g=t.set_class(r,1,"spectrum-Popover is-open "+(o.className??""),"svelte-1vbe9zl",g,{customZindex:o.customZindex,"hide-popover":a()&&!u()}),t.set_style(r,`height: ${o.customHeight??""}; --customZindex: ${o.customZindex??""};`)}),t.transition(3,r,()=>i.fly,()=>({y:-20,duration:c()?350:0})),t.append(e,r)},$$slots:{default:!0}})};return t.if(x,e=>{a()&&e(T)}),t.append(e,k),t.pop(w)}function H(e){return null==e?{active:!0,text:"",delay:500,whenTruncated:!0,position:"above-center"}:"string"==typeof e?{active:e.length>0,text:e,delay:500,whenTruncated:!1,position:"above-center"}:!1===e.enabled?{active:!1,text:"",delay:500,whenTruncated:!0,position:"above-center"}:{active:!0,text:e.text??"",delay:e.delay??500,whenTruncated:e.whenTruncated??!0,position:e.position??"above-center"}}var R=null,N=null,G=!1;function Q(e,t,n=500,i=!0,o="above-center"){i&&e.scrollWidth<=e.offsetWidth||(N&&clearTimeout(N),N=setTimeout(()=>{R&&R.remove();const n=function(){const e=document.createElement("div");return e.className="tooltip-popup",e.setAttribute("role","tooltip"),(document.getElementById("app-root")||document.body).appendChild(e),e}();n.textContent=t,function(e,t,n){const i=e.getBoundingClientRect(),[o,r]=n.split("-");let l="above"===o?t.top-i.height-4:t.bottom+4,a=t.left;"center"===r?a=t.left+(t.width-i.width)/2:"end"===r&&(a=t.right-i.width);const s=window.innerWidth-i.width-4,d=window.innerHeight-i.height-4;e.style.top=`${Math.max(4,Math.min(l,d))}px`,e.style.left=`${Math.max(4,Math.min(a,s))}px`}(n,e.getBoundingClientRect(),o),R=n},n))}function Z(){N&&(clearTimeout(N),N=null),R&&(R.remove(),R=null)}function K(e,t){!function(){if(G)return;G=!0;const e=document.createElement("style");e.textContent="\n\t\t.tooltip-popup {\n background: var(--spectrum-global-color-gray-700);\n color: var(--spectrum-global-color-gray-50);\n\t\t\tposition: fixed !important;\n\t\t\tz-index: 10000 !important;\n\t\t\tmax-width: 20rem;\n\t\t\tpadding: 0.35rem 0.5rem;\n\t\t\tborder-radius: 0.25rem;\n\t\t\tfont-family: 'inter', sans-serif;\n\t\t\tfont-size: 11px;\n\t\t\tline-height: 1.35;\n\t\t\twhite-space: normal;\n\t\t\tword-break: break-word;\n\t\t\toverflow-wrap: break-word;\n\t\t\tbox-shadow: 0 2px 8px rgb(0 0 0 / 0.18);\n\t\t\tpointer-events: none;\n\t\t\tdisplay: block !important;\n\t\t\tvisibility: visible !important;\n\t\t\topacity: 1 !important;\n\t\t}\n\t",document.head.appendChild(e)}();let n,i=H(t);const o=()=>{n&&(e.removeEventListener("mouseenter",n),n=void 0),e.removeEventListener("mouseleave",Z),Z()},r=()=>{o(),i.active&&(n=()=>{const t=i.whenTruncated?i.text||e.textContent||"":i.text||"";t&&Q(e,t,i.delay,i.whenTruncated,i.position)},e.addEventListener("mouseenter",n),e.addEventListener("mouseleave",Z))};return r(),{update(e){i=H(e),r()},destroy(){o()}}}function J(e,t){return t<1?-1:Math.min(Math.max(e,-1),t-1)}var X=t.from_html("<!> ",1),Y=t.from_html("<i></i>"),ee=t.from_html('<div class="item svelte-77dz4c"><!> <span class="svelte-77dz4c"> </span></div>'),te=t.from_html('<span class="count svelte-77dz4c"> </span>'),ne=t.from_html("<div><!> <!></div>"),ie=t.from_html('<div><div class="value svelte-77dz4c"><!></div></div>'),oe=t.from_html('<i class="ph ph-x clear-icon svelte-77dz4c"></i>'),re=t.from_html('<div class="popup-search svelte-77dz4c"><i class="ph ph-magnifying-glass svelte-77dz4c"></i> <input type="text"/> <!></div>'),le=t.from_html('<div class="option disabled loading svelte-77dz4c"><i class="ph ph-spinner spin"></i> Loading...</div>'),ae=t.from_html('<div class="option disabled svelte-77dz4c">No options available</div>'),se=t.from_html('<span class="ph ph-check"></span>'),de=t.from_html('<span class="label svelte-77dz4c"> </span> <!>',1),pe=t.from_html("<div><!></div>"),ce=t.from_html('<div class="option disabled loading svelte-77dz4c"><i class="ph ph-spinner spin"></i> Loading more...</div>'),ue=t.from_html("<!> <!>",1),ge=t.from_html('<div class="popup svelte-77dz4c"><!> <div class="options svelte-77dz4c"><!></div></div>'),fe=t.from_html("<!> <!>",1);function ve(e,i){t.push(i,!0);const o=()=>t.store_get(Je,"$csm",l),r=()=>t.store_get(t.get(I),"$pickerFetch",l),[l,a]=t.setup_stores(),s=(0,n.createEventDispatcher)(),{API:d,fetchData:p,QueryUtils:c,Provider:u,ContextScopes:f}=(0,n.getContext)("sdk");let v=t.prop(i,"filter",19,()=>[]),h=t.prop(i,"isUserSelect",3,!1),m=t.prop(i,"autofocus",3,!1),b=t.prop(i,"buttons",19,()=>[]),D=t.prop(i,"renderSlot",3,!1),O=t.prop(i,"keepOpen",3,!1),V=t.state(null),A=t.state(null),E=t.state(null),P=t.state(""),I=t.state(void 0),L=t.state(15),z=t.state(void 0),B=t.state(void 0),F=t.state(-1),W=t.state(!1),j=t.state(t.proxy([])),U=t.state(!1),H=t.derived(()=>i.cellOptions??{}),R=t.derived(()=>v()?.length?v():t.get(H).filter??[]),N=t.derived(()=>!i.fieldSchema?.type?.includes("_single")),G=t.derived(()=>i.fieldSchema?.type?.includes("bb_reference")||h()),Q=t.derived(()=>"pills"===t.get(H).relViewMode),Z=t.derived(()=>"links"===t.get(H).relViewMode&&!t.get(G)),ve=t.derived(()=>"link"===i.fieldSchema?.type?"ri-edit-box-line":"ri-user-line"),he=t.derived(()=>"text"===t.get(H).relViewMode||!t.get(H).relViewMode),me=t.derived(()=>"expanded"===t.get(H).controlType&&((t.get(j)?.length??0)>1||"editing"===o())),be=t.derived(()=>!t.get(N)||"one-to-many"===i.fieldSchema?.relationshipType),ye=t.derived(()=>t.get(H).placeholder||""),_e=t.derived(()=>t.get(H).disabled),we=t.derived(()=>t.get(H).readonly),ke=t.derived(()=>t.get(H).copyable),xe=t.derived(()=>t.get(H).copyIcon??"always"),Te=t.derived(()=>t.get(H).role??"form"),Se=t.derived(()=>w(t.get(Te))),Ce=t.derived(()=>"editing"===o()),De=t.derived(()=>t.get(H).error),$e=t.derived(()=>t.get(H).icon),Oe=t.derived(()=>t.get(H).showDirty),Ve=t.derived(()=>t.get(H).debounce??null),Ae=t.derived(()=>t.get(Ce)&&!function(e,t,n="_id"){return y(e,n).sort().join("\0")===y(t,n).sort().join("\0")}(Ze(),i.value)),Ee=t.derived(()=>i.fieldSchema?.tableId),Pe=t.derived(()=>(t.get(j)?.length??0)<1),Ie=t.derived(()=>t.get(H).dirty),Le=t.state(0),Me=t.derived(()=>t.get(H).pickerWidth),ze=t.derived(()=>t.get(H).search??!0),Be=t.state(null),Fe=t.derived(()=>t.get(G)?"email":r()?.definition?.primaryDisplay||"_id"),We=t.derived(()=>r()?.rows??[]),je=t.derived(()=>r()?.loading??!1),Ue=t.derived(()=>r()?.loaded??!1),qe=t.derived(()=>t.get(We).length>=t.get(L)),He=t.derived(()=>t.get(G)||!!t.get(Ee)),Re=t.derived(()=>!t.get(_e)&&!t.get(we));const Ne=e=>({_id:e._id,primaryDisplay:e.primaryDisplay}),Ge=(e,n=void 0)=>{if(!e)return null;if("string"==typeof e)return{_id:e,primaryDisplay:e};if("object"!=typeof e)return null;const i=e,o=i._id??i.id;return o?{_id:String(o),primaryDisplay:_(i,n||t.get(Fe))}:null},Qe=e=>{if(null==e||""===e)return[];if(t.get(N))return(Array.isArray(e)?e:[e]).map(e=>Ge(e,t.get(Fe))).filter(e=>!!e);const n=Ge(e,t.get(Fe));return n?[n]:[]},Ze=()=>{const e=t.get(j).map(Ne);return t.get(N)?e:e[0]??null},Ke=()=>t.get(G)?{type:"user"}:{type:"table",tableId:t.get(Ee)},Je=g("view",{"*":{goTo:e=>e,copy(){},click(){},toggle(){}},view:{focus:()=>{if(!t.get(we)&&!t.get(_e))return S||(C=!0),"editing"},toggle:()=>{if(!t.get(we)&&!t.get(_e))return $(),"editing"}},editing:{_enter:()=>{t.set(j,Qe(i.value),!0),t.set(W,!!O()||function(){const e=C;return C=!1,e}(),!0),t.set(F,-1),t.get(He)&&t.get(Re)&&(t.set(L,15),t.store_unsub(t.set(I,p({API:d,datasource:Ke(),options:{...t.get(G)?{}:{query:Xe("")},limit:15}}),!0),"$pickerFetch",l)),s("enteredit"),!O()&&t.get(ze)&&setTimeout(()=>t.get(E)?.focus(),0)},_exit:()=>{t.set(W,!1),t.set(P,""),t.set(F,-1),t.store_unsub(t.set(I,void 0),"$pickerFetch",l),clearTimeout(t.get(z)),s("exitedit")},change(){t.get(Ve)&&(clearTimeout(t.get(B)),t.set(B,setTimeout(()=>{s("change",Ze())},t.get(Ve)),!0))},submit(){t.get(Ae)&&!t.get(Ve)&&s("change",Ze())},cancel:()=>(clearTimeout(t.get(B)),t.set(j,Qe(i.value),!0),t.set(W,!1),s("cancel"),t.get(V)?.focus(),"view"),toggle:()=>{t.set(W,!t.get(W))},click(){this.toggle()},keydown:e=>{if(" "===e.key||32===e.keyCode)e.preventDefault(),this.toggle();else if("Escape"===e.key){if(e.preventDefault(),!t.get(W))return this.cancel();t.set(W,!1),t.get(V)?.focus()}else t.get(W)&&(t.get(ze)?t.get(E)?.focus():rt(e))},focusout:e=>{if(O())return;const n=e.relatedTarget;return t.get(A)?.contains(n)?void 0:(t.get(Ve)&&t.get(Ae)?(clearTimeout(t.get(B)),s("change",Ze())):Je.submit(),"view")},popupFocusout:e=>{if(!O()&&e.relatedTarget!==t.get(V))return Je.submit(),"view"},popupKeydown(e){if("Tab"===e.key)return t.get(V)?.focus(),"view";rt(e)},selectChange:e=>{t.set(j,e,!0),t.get(be)?(Je.change(),O()||(t.set(W,!1),t.set(P,""),t.set(F,-1),t.get(V)?.focus())):Je.change()}},readonly:{},disabled:{},copyable:{copy(){T(()=>Je,t.get(j).map(e=>e.primaryDisplay).join(", "))},keydown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.copy())}},justCopied:x(()=>Je)}),Xe=e=>t.get(G)?(e=>e?{fuzzy:{email:e}}:{})(e):t.get(Fe)&&e?function(e,t,n,i){return i?e.buildQuery([...t,{field:n,type:"string",operator:"fuzzy",value:i,valueType:"Value"}]):e.buildQuery(t)}(c,t.get(R),t.get(Fe),e):c.buildQuery(t.get(R)),Ye=e=>{t.get(ze)&&function(e){const{fetch:t,timer:n,setTimer:i,query:o,limit:r,debounceMs:l=200,onScheduled:a}=e;t&&(n&&clearTimeout(n),i(setTimeout(()=>{a?.(),t.update({query:o,limit:r})},l)))}({fetch:t.get(I),timer:t.get(z),setTimer:e=>{t.set(z,e,!0)},query:Xe(e),limit:15,debounceMs:200,onScheduled:()=>{t.set(L,15)}})},et=()=>{r()?.loading||(r()?.rows?.length??0)<t.get(L)||(t.set(L,t.get(L)+100),t.get(I)?.update({query:Xe(t.get(ze)?t.get(P):""),limit:t.get(L)}))},tt=e=>{const n=e._id??e.id;return t.get(j).some(e=>e._id==n)},nt=e=>{(function(e,t,n){return!(t||!n)&&e.scrollTop+e.clientHeight>=e.scrollHeight-50})(e.target,t.get(je),t.get(qe))&&et()},it=e=>{const n=e._id??e.id,i={_id:String(n),primaryDisplay:_(e,t.get(Fe))};let o;if(t.get(be))o=t.get(j)[0]?._id==n?[]:[i];else{const e=t.get(j).findIndex(e=>e._id==n);o=e>-1?t.get(j).filter((t,n)=>n!==e):[...t.get(j),i]}Je.selectChange(o)},ot=async()=>{t.get(F)<0||!t.get(A)||(await(0,n.tick)(),t.get(A).querySelector(".option.highlighted")?.scrollIntoView({block:"nearest"}))},rt=e=>{const n=t.get(We);"ArrowDown"===e.key?(e.preventDefault(),t.set(F,J(t.get(F)+1,n.length),!0),t.get(F)<0&&n.length&&t.set(F,0),ot()):"ArrowUp"===e.key?(e.preventDefault(),t.set(F,J(t.get(F)-1,n.length),!0),ot()):"Enter"===e.key&&t.get(F)>-1&&n[t.get(F)]?(e.preventDefault(),it(n[t.get(F)])):"Escape"===e.key&&(e.preventDefault(),t.set(W,!1),t.get(V)?.focus())},lt=e=>{t.set(P,e.target.value,!0),t.set(F,t.get(P)&&t.get(We).length?0:-1,!0),Ye(t.get(P))},at=()=>{t.set(P,""),t.set(F,-1),Ye("")};t.user_effect(()=>{t.set(F,J(t.get(F),t.get(We).length),!0)}),t.user_effect(()=>{t.get(Ue)&&!t.get(je)&&t.get(qe)&&t.get(Be)&&0!==t.get(We).length&&(t.get(We).length,(0,n.tick)().then(()=>{t.get(Be)&&!t.get(je)&&t.get(qe)&&t.get(Be).scrollHeight<=t.get(Be).clientHeight&&et()}))}),t.user_effect(()=>{const e=i.value,o=t.get(Ee);t.get(Ce)||(0,n.untrack)(async()=>{t.set(j,Qe(e),!0),!t.get(Se)&&t.get(Re)&&await(async(e,n)=>{if(!t.get(Re))return;const i=e.filter(e=>e.primaryDisplay===e._id||!e.primaryDisplay).map(e=>e._id);if(i.length&&!t.get(U)){t.set(U,!0);try{const o=new Map(t.get(j).map(e=>[e._id,e]));if(t.get(G)){const e=await d.searchUsers({query:{oneOf:{_id:i}},limit:i.length});for(const t of e?.data??[]){const e=Ge(t);e&&o.set(e._id,e)}}else{if(!n)return;const e=await d.searchTable(n,{query:{oneOf:{_id:i}}});for(const t of e.rows??[]){const e=Ge(t);e&&o.set(e._id,e)}}for(const e of i)o.has(e)||o.set(e,{_id:e,primaryDisplay:e});t.set(j,e.map(e=>o.get(e._id)??e),!0)}catch(o){console.error("Error loading missing relationship rows",o)}finally{t.set(U,!1)}}})(t.get(j),o)})}),t.user_effect(()=>{t.get(_e)?Je.goTo("disabled"):t.get(we)&&t.get(ke)&&!t.get(Pe)?Je.goTo("copyable"):t.get(we)?Je.goTo("readonly"):O()?("editing"!==o()&&Je.goTo("editing"),t.set(W,!0)):Je.goTo("view"),t.set(Le,t.get(we)||t.get(_e)?-1:0,!0)}),t.user_effect(()=>{m()&&setTimeout(()=>Je.focus(),50)}),t.user_effect(()=>()=>clearTimeout(t.get(B)));var st=fe(),dt=t.first_child(st);{let e=t.derived(()=>t.get(Ie)&&t.get(Oe)),n=t.derived(()=>t.get(W)||O());M(dt,{get id(){return i.id},get csm(){return Je},get role(){return t.get(Te)},get error(){return t.get(De)},get icon(){return t.get($e)},get multirow(){return t.get(me)},get isDirty(){return t.get(e)},get popupOpen(){return t.get(n)},controlIcon:"ph ph-caret-down",get copyIcon(){return t.get(xe)},get tabindex(){return t.get(Le)},get buttons(){return b()},get anchor(){return t.get(V)},set anchor(e){t.set(V,e,!0)},children:(e,n)=>{var i=t.comment(),r=t.first_child(i);t.key(r,o,e=>{var n=ie();let i;var o=t.child(n),r=t.child(o);t.key(r,()=>t.get(j),e=>{var n=t.comment(),i=t.first_child(n),o=e=>{var n=t.text();t.template_effect(e=>t.set_text(n,e),[()=>function(e,t,n=!1){return k(t,n)?null==e?"":String(e):""}(t.get(ye)||"Select...",t.get(Te),t.get(Ce))]),t.append(e,n)},r=e=>{var n=X(),i=t.first_child(n),o=e=>{var n=t.text();t.template_effect(()=>t.set_text(n,`(${t.get(j).length??""})`)),t.append(e,n)};t.if(i,e=>{"form"===t.get(Te)&&t.get(j).length>1&&e(o)});var r=t.sibling(i);t.template_effect(e=>t.set_text(r,` ${e??""}`),[()=>t.get(j).map(e=>e.primaryDisplay).join(", ")]),t.append(e,n)},l=e=>{var n=ne();let i;var o=t.child(n);t.each(o,19,()=>t.get(j),e=>e._id,(e,n,i)=>{var o=t.comment(),r=t.first_child(o),l=e=>{var i=ee(),o=t.child(i),r=e=>{var n=Y();t.template_effect(()=>t.set_class(n,1,t.clsx(t.get(ve)),"svelte-77dz4c")),t.append(e,n)};t.if(o,e=>{t.get(G)&&e(r)});var l=t.sibling(o,2),a=t.child(l,!0);t.reset(l),t.reset(i),t.template_effect(()=>t.set_text(a,t.get(n).primaryDisplay)),t.event("click",i,function(...e){(t.get(Z)?()=>{s("linkClick",t.get(n))}:null)?.apply(this,e)}),t.append(e,i)};t.if(r,e=>{t.get(i)<5&&e(l)}),t.append(e,o)});var r=t.sibling(o,2),l=e=>{var n=te(),i=t.child(n);t.reset(n),t.template_effect(()=>t.set_text(i,`(+ ${t.get(j).length-5})`)),t.append(e,n)};t.if(r,e=>{t.get(j).length>5&&e(l)}),t.reset(n),t.template_effect(()=>i=t.set_class(n,1,"items svelte-77dz4c",null,i,{pills:t.get(Q),links:t.get(Z),isUser:t.get(G),withCount:t.get(j).length>5})),t.append(e,n)};t.if(i,e=>{t.get(Pe)?e(o):t.get(he)?e(r,1):e(l,-1)}),t.append(e,n)}),t.reset(o),t.reset(n),t.action(n,e=>K?.(e)),t.template_effect(e=>i=t.set_class(n,1,"value-contents svelte-77dz4c",null,i,e),[()=>({placeholder:t.get(Pe)&&k(t.get(Te),t.get(Ce))})]),t.append(e,n)}),t.append(e,i)},$$slots:{default:!0}})}var pt=t.sibling(dt,2),ct=e=>{{let n=t.derived(()=>t.get(W)||O()),o=t.derived(()=>t.get(H).pickerAlign??"left");q(e,{get anchor(){return t.get(V)},get open(){return t.get(n)},useAnchorWidth:!0,dismissible:!1,get minWidth(){return t.get(Me)},get align(){return t.get(o)},children:(e,n)=>{var o=ge(),r=t.child(o),l=e=>{var n=re(),i=t.sibling(t.child(n),2);let o;t.remove_input_defaults(i),t.set_attribute(i,"placeholder","Search..."),t.bind_this(i,e=>t.set(E,e),()=>t.get(E)),t.action(i,e=>focus?.(e)),t.effect(()=>t.event("input",i,lt));var r=t.sibling(i,2),l=e=>{var n=oe();t.event("mousedown",n,t.preventDefault(t.stopPropagation(at))),t.append(e,n)};t.if(r,e=>{t.get(P)&&e(l)}),t.reset(n),t.template_effect(()=>{o=t.set_class(i,1,"search svelte-77dz4c",null,o,{placeholder:!t.get(P)}),t.set_value(i,t.get(P))}),t.append(e,n)};t.if(r,e=>{t.get(ze)&&e(l)});var a=t.sibling(r,2),s=t.child(a);t.key(s,()=>t.get(We),e=>{var n=t.comment(),o=t.first_child(n),r=e=>{var n=le();t.append(e,n)},l=e=>{var n=ae();t.append(e,n)},a=e=>{var n=ue(),o=t.first_child(n);t.each(o,17,()=>t.get(We),t.index,(e,n,o)=>{var r=pe();let l;var a=t.child(r),s=e=>{{let o=t.derived(()=>({value:t.get(n)._id??t.get(n).id,label:t.get(n)[t.get(Fe)],row:t.get(n)}));u(e,{get data(){return t.get(o)},get scope(){return f.Local},children:(e,n)=>{var o=t.comment(),r=t.first_child(o);t.snippet(r,()=>i.children??t.noop),t.append(e,o)},$$slots:{default:!0}})}},d=e=>{var i=de(),o=t.first_child(i),r=t.child(o,!0);t.reset(o);var l=t.sibling(o,2),a=e=>{var n=se();t.append(e,n)},s=t.derived(()=>tt(t.get(n)));t.if(l,e=>{t.get(s)&&e(a)}),t.template_effect(()=>t.set_text(r,t.get(n)[t.get(Fe)])),t.append(e,i)};t.if(a,e=>{D()?e(s):e(d,-1)}),t.reset(r),t.template_effect(e=>l=t.set_class(r,1,"option svelte-77dz4c",null,l,e),[()=>({selected:tt(t.get(n)),highlighted:t.get(F)===o})]),t.event("mouseenter",r,()=>t.set(F,o,!0)),t.event("mousedown",r,t.preventDefault(()=>it(t.get(n)))),t.append(e,r)});var r=t.sibling(o,2),l=e=>{var n=ce();t.append(e,n)};t.if(r,e=>{t.get(je)&&t.get(Ue)&&e(l)}),t.append(e,n)};t.if(o,e=>{t.get(Ue)?0===t.get(We).length?e(l,1):e(a,-1):e(r)}),t.append(e,n)}),t.reset(a),t.bind_this(a,e=>t.set(Be,e),()=>t.get(Be)),t.reset(o),t.bind_this(o,e=>t.set(A,e),()=>t.get(A)),t.event("scroll",a,nt),t.event("mousedown",a,t.preventDefault(()=>{})),t.event("focusout",o,function(...e){Je.popupFocusout?.apply(this,e)}),t.event("keydown",o,function(...e){Je.popupKeydown?.apply(this,e)}),t.append(e,o)},$$slots:{default:!0}})}};t.if(pt,e=>{"editing"===o()&&e(ct)}),t.append(e,st),t.pop(),a()}var he=t.from_html('<div class="error-message svelte-gmb99o"> </div>'),me=t.from_html("<div><div> </div> <!></div>"),be=t.from_html('<div><!> <div class="inline-cells svelte-gmb99o"><!></div></div>');var ye=t.from_html('<button><i></i> <span class="svelte-2mtbnl"> </span></button>');function _e(e,i){t.push(i,!0);let o=t.prop(i,"size",3,"M"),r=t.prop(i,"menuItem",3,!1),l=t.prop(i,"menuAlign",3,"right"),a=t.prop(i,"icon",3,void 0),s=t.prop(i,"iconAfterText",3,void 0),d=t.prop(i,"iconColor",3,void 0),p=t.prop(i,"filledIcon",3,void 0),c=t.prop(i,"text",7,"Button"),u=t.prop(i,"quiet",3,void 0),g=t.prop(i,"selected",3,void 0),f=t.prop(i,"disabled",3,void 0),v=t.prop(i,"onClick",3,void 0),h=t.prop(i,"buttonClass",3,"actionButton"),m=t.prop(i,"type",3,"primary"),b=t.prop(i,"tooltip",3,void 0),y=t.prop(i,"confirm",3,!1),_=t.prop(i,"condition",3,void 0),w=t.prop(i,"actionsMode",3,"normal"),k=t.prop(i,"loopSource",3,void 0),x=t.prop(i,"loopDelay",3,750);t.prop(i,"loopEvent",3,void 0);let T,S=t.prop(i,"timerDuration",3,60),C=t.prop(i,"fullWidth",3,void 0),D=t.prop(i,"iconOnly",3,void 0),$=t.prop(i,"onTimer",3,void 0),O=t.prop(i,"onLoopStart",3,void 0),V=t.prop(i,"onLoopEvent",3,void 0),A=t.prop(i,"onLoopEnd",3,void 0),E=t.prop(i,"onTrueCondition",3,void 0),P=t.prop(i,"onFalseCondition",3,void 0),I=t.prop(i,"workingState",3,void 0),L=t.state(!1),M=t.state(!1),z=t.derived(()=>b()?{text:b(),whenTruncated:!1}:{enabled:!1}),B=0,F=t.derived(()=>t.get(L)?"Confirm ?":c()||("timer"==w()?S():"")),W=t.derived(()=>"actionButton"==h()?"spectrum-ActionButton spectrum-ActionButton--size"+o():"spectrum-Button spectrum-Button--size"+o()),j=t.derived(()=>t.get(M)||I()?"ph ph-spinner-gap ph-spin":a()&&!a().startsWith("ri-")?"ph ph-"+a():a()?a():"timer"==w()?"ph ph-timer":void 0);t.user_effect(()=>("timer"==w()&&(0,n.untrack)(()=>{c(S().toString()),T=setInterval(()=>{B+=1,B==S()&&(t.set(M,!0),B=0,$()?.(),U(200).then(()=>{t.set(M,!1)})),c((S()-B).toString())},1e3)}),()=>{clearInterval(T)}));function U(e){return new Promise(t=>setTimeout(t,e))}let q=t.derived(()=>(e=>{if(!e)return;let t=[];try{t=JSON.parse(e),Array.isArray(t)||(t=[e])}catch(n){t=e?.split(",")??[e]}return t})(k())),H=t.derived(()=>f()?"disabled":t.get(M)||I()?"working":""),R=t.derived(()=>r()?"":m());var N=ye();let G;var Q=t.child(N);let Z,J;var X=t.sibling(Q,2),Y=t.child(X,!0);t.reset(X),t.reset(N),t.action(N,(e,t)=>K?.(e,t),()=>t.get(z)),t.effect(()=>t.event("click",N,e=>{!async function(e){if(!f()&&"timer"!=w()&&!I())if(!y()||t.get(L)){if(console.log(w(),v(),V()),t.set(L,!1),t.set(M,!0),"loop"==w()){if(O()&&await O()({iterations:k()?.length}),Array.isArray(t.get(q))&&V()){for(var n=0;n<t.get(q).length;n++)t.set(F,`Processing ${n+1}/${t.get(q).length}`),await V()({idx:n,value:t.get(q)[n]}),await U(x());t.set(F,"Done"),await U(300),t.set(F,c())}A()&&await A()()}else"conditional"==w()?1==_()?await(E()?.()):await(P()?.()):v()&&await(v()?.(e));t.set(M,!1)}else t.set(L,!0)}(e)})),t.effect(()=>t.event("blur",N,()=>{t.set(L,!1)})),t.template_effect(()=>{t.set_attribute(N,"tabindex",f()?-1:0),G=t.set_class(N,1,`super-button ${t.get(R)??""} ${t.get(H)??""} ${t.get(W)??""}`,"svelte-2mtbnl",G,{"menu-item":r(),"menu-item-right":r()&&"right"==l(),xsmall:"XS"==o(),small:"S"==o(),large:"L"==o(),"is-selected":g(),quiet:u(),icon:t.get(j),iconOnly:D()||!c(),"full-width":C()}),Z=t.set_class(Q,1,t.clsx(t.get(L)?"ph ph-check":t.get(j)),"svelte-2mtbnl",Z,{"ph-fill":p()}),J=t.set_style(Q,"",J,{order:s()?1:0,color:f()?"var(--spectrum-global-color-gray-400)":d()}),t.set_text(Y,t.get(F))}),t.append(e,N),t.pop()}var we=["text","tooltip"],ke=(e,t)=>{if(!e?.length)return{visible:!0,settingUpdates:{}};const n=(e=>e?.filter(e=>!e.disabled)??[])(e);let i=!n.find(e=>"show"===e.action);const o=(e=>{const t={};let n=null;return e?.forEach(e=>{"show"===e.action?n=!0:"hide"===e.action?n=!1:e.setting&&(t[e.setting]=e.settingValue)}),{settingUpdates:t,visible:n}})(((e,t)=>e?.length?e.filter(e=>{if(e.disabled)return!1;const n={...e};"number"===n.valueType?(n.referenceValue=parseFloat(String(n.referenceValue)),n.newValue=parseFloat(String(n.newValue))):"datetime"===n.valueType?(n.referenceValue&&(n.referenceValue=new Date(String(n.referenceValue)).toISOString()),n.newValue&&(n.newValue=new Date(String(n.newValue)).toISOString())):"boolean"===n.valueType&&(n.referenceValue="true"===`${n.referenceValue}`.toLowerCase(),n.newValue="true"===`${n.newValue}`.toLowerCase());const i={...n,type:n.valueType,field:"newValue",value:n.referenceValue},o=t.buildQuery([i]);return o.onEmptyFilter="none",t.runQuery([i],o).length>0}):[])(n,t));return null!=o.visible&&(i=o.visible),{visible:i,settingUpdates:o.settingUpdates}},xe=(e,t,n)=>"string"==typeof e&&e.includes("{{")?n(e,t):e,Te=(e,t,n,i={})=>{const{QueryUtils:o,processStringSync:r,enrichButtonActions:l}=n,{visible:a,settingUpdates:s}=ke(((e,t,n)=>e?.map(e=>({...e,referenceValue:n(String(e.referenceValue??""),t),newValue:n(String(e.newValue??""),t)})))(e._conditions??e.conditions,t,r),o);if(!a)return null;const{conditions:d,_conditions:p,disabledTemplate:c,onClick:u,onLoopStart:g,onLoopEvent:f,onLoopEnd:v,onTrueCondition:h,onFalseCondition:m,icon:b,...y}=e,_={...y,...s};for(const k of we)k in _&&(_[k]=xe(_[k],t,r));b&&(_.icon=b.startsWith("ph ")?b:`ph ph-${b}`);const w=!0===r(c??"",t);return _.disabled=Boolean(_.disabled)||w||Boolean(i.forceDisabled),_.onClick=l(u,t),_.onLoopStart=l(g,t),_.onLoopEvent=l(f,t),_.onLoopEnd=l(v,t),_.onTrueCondition=l(h,t),_.onFalseCondition=l(m,t),_},Se=t.from_html('<div class="buttons svelte-1l9u2si"></div>'),Ce=t.from_html("<!> <!>",1),De=t.from_html("<div><!></div>");function $e(e,i){t.push(i,!0);const o=()=>t.store_get(d,"$component",r),[r,l]=t.setup_stores(),a=(0,n.getContext)("sdk"),{styleable:s}=a,d=(0,n.getContext)("component"),p=(0,n.getContext)("context"),c=(0,n.getContext)("form"),u=(0,n.getContext)("form-step"),g=(0,n.getContext)("field-group"),f=(0,n.getContext)("field-group-label-width"),v=(0,n.getContext)("field-group-disabled"),h=(0,n.getContext)("field-group-readonly");let m,b,y=t.prop(i,"field",3,"Relationship Field"),_=t.prop(i,"filter",3,void 0),w=t.prop(i,"validation",3,void 0),k=t.prop(i,"controlType",3,"select"),x=t.prop(i,"buttons",19,()=>[]),T=t.prop(i,"label",3,void 0),S=t.prop(i,"span",3,6),C=t.prop(i,"placeholder",3,"Choose an Option"),D=t.prop(i,"defaultValue",3,void 0),$=t.prop(i,"disabled",3,!1),O=t.prop(i,"readonly",3,!1),V=t.prop(i,"copyable",3,!1),A=t.prop(i,"copyIcon",3,void 0),E=t.prop(i,"helpText",3,void 0),P=t.prop(i,"icon",3,void 0),I=t.prop(i,"onChange",3,void 0),L=t.prop(i,"debounced",3,!1),M=t.prop(i,"debounceDelay",3,750),z=t.prop(i,"relViewMode",3,"text"),B=t.prop(i,"labelPosition",3,"fieldGroup"),F=t.prop(i,"buttonsPosition",3,"side"),W=t.prop(i,"renderSlot",3,!1),j=t.prop(i,"pickerWidth",3,void 0),U=t.prop(i,"pickerAlign",3,"left"),q=t.prop(i,"search",3,!0),H=t.prop(i,"showDirty",3,!1),R=t.derived(()=>!(!o().selected&&!o().inSelectedPath)&&W()),N=t.state(void 0),G=t.state(void 0),Q=t.state(t.proxy({})),Z=t.derived(()=>t.get(N)?.value),J=t.derived(()=>t.get(N)?.fieldId),X=t.derived(()=>t.get(N)?.error),Y=t.derived(()=>u&&t.store_get(u,"$formStepContext",r)||1),ee=t.derived(()=>(O()||t.store_get(h,"$groupReadonly",r)||t.get(N)?.readonly)??!1),te=t.derived(()=>($()||t.store_get(v,"$groupDisabled",r)||t.get(N)?.disabled)??!1),ne=t.derived(()=>((e,t,n,i={})=>e?.length?e.map(e=>Te(e,t,n,i)).filter(e=>null!=e):[])(x(),t.store_get(p,"$allContext",r),a,{forceDisabled:t.get(te)})),ie=t.derived(()=>"select"!=k()),oe=t.derived(()=>void 0!==g&&"fieldGroup"==B()?g:"fieldGroup"==B()?"above":B()),re=t.derived(()=>({...o().styles,normal:{...o().styles.normal,overflow:"hidden","grid-column":`span ${Number(S())||6}`}})),le=t.derived(()=>({placeholder:C(),readonly:t.get(ee),disabled:t.get(te),copyable:V(),copyIcon:A(),debounce:L()?M():null,controlType:k(),error:t.get(N)?.error,icon:P()?"ph ph-"+P():void 0,dirty:t.get(N)?.dirty,showDirty:H(),relViewMode:z(),filter:_(),pickerWidth:j(),pickerAlign:U(),search:q()}));t.user_effect(()=>($(),O(),y(),(0,n.untrack)(()=>{m=c?.formApi?.registerField(y(),"link",D(),$(),O(),w(),t.get(Y))}),()=>{m?.fieldApi?.deregister()})),t.user_effect(()=>{if(m)return(0,n.untrack)(()=>{b=m?.subscribe(e=>{t.set(N,e?.fieldState,!0),t.set(G,e?.fieldApi,!0),t.set(Q,e?.fieldSchema??{},!0)})}),()=>{b?.()}});const ae=e=>{const n=e.detail,i=(e=>null==e||""===e?null:Array.isArray(e)?e.length?1===e.length?e[0]:e:null:"object"==typeof e?e:null)(n);t.get(G)?.setValue(n),I()?.({value:n,row:i})};var se=De();!function(e,n){let i=t.derived(()=>"left"==n.labelPos?n.labelWidth?n.labelWidth:"6rem":"auto");var o=be();let r,l;var a=t.child(o),s=e=>{var o=me();let r,l;var a=t.child(o);let s;var d=t.child(a,!0);t.reset(a),t.action(a,(e,t)=>K?.(e,t),()=>({whenTruncated:!n.helpText}));var p=t.sibling(a,2),c=e=>{var i=he(),o=t.child(i,!0);t.reset(i),t.template_effect(()=>t.set_text(o,n.error)),t.append(e,i)};t.if(p,e=>{n.error&&e(c)}),t.reset(o),t.template_effect(()=>{r=t.set_class(o,1,"superlabel svelte-gmb99o",null,r,{left:"left"==n.labelPos,tall:n.tall,error:n.error}),l=t.set_style(o,"",l,{"--label-width":t.get(i)}),s=t.set_class(a,1,"label svelte-gmb99o",null,s,{"has-interaction":!!n.helpText}),t.set_text(d,n.label||n.field)}),t.append(e,o)};t.if(a,e=>{n.labelPos&&e(s)});var d=t.sibling(a,2),p=t.child(d);t.snippet(p,()=>n.children??t.noop),t.reset(d),t.reset(o),t.template_effect(()=>{r=t.set_class(o,1,"super-field svelte-gmb99o",null,r,{"left-label":"left"==n.labelPos,multirow:n.multirow,tall:n.tall}),l=t.set_style(o,"",l,{"--field-height":n.height,"--max-height":n.maxHeight})}),t.append(e,o)}(t.child(se),{get multirow(){return t.get(ie)},get labelPos(){return t.get(oe)},get labelWidth(){return f},get field(){return y()},get label(){return T()},get error(){return t.get(X)},get helpText(){return E()},children:(e,n)=>{var o=Ce(),r=t.first_child(o);{let e=t.derived(()=>"inline"==F()?t.get(ne):[]);ve(r,{get id(){return t.get(J)},get cellOptions(){return t.get(le)},get value(){return t.get(Z)},get fieldSchema(){return t.get(Q)},get buttons(){return t.get(e)},get keepOpen(){return t.get(R)},get renderSlot(){return W()},get children(){return i.children},$$events:{change:ae}})}var l=t.sibling(r,2),a=e=>{var n=Se();t.each(n,21,()=>t.get(ne),t.index,(e,n)=>{_e(e,t.spread_props(()=>t.get(n)))}),t.reset(n),t.append(e,n)};t.if(l,e=>{"side"==F()&&t.get(ne).length>0&&e(a)}),t.append(e,o)},$$slots:{default:!0}}),t.reset(se),t.action(se,(e,t)=>s?.(e,t),()=>t.get(re)),t.append(e,se),t.pop(),l()}var Oe=t.from_html('<span class="plugin-error-detail svelte-1q1ah0h"> </span>'),Ve=t.from_html('<div class="plugin-error svelte-1q1ah0h" role="alert"><span class="plugin-error-title svelte-1q1ah0h">Field failed to render</span> <!></div>');function Ae(e,n){t.push(n,!0);let i=t.rest_props(n,["$$slots","$$events","$$legacy"]);var o=t.comment(),r=t.first_child(o);{const e=(e,n=t.noop)=>{var i=Ve(),o=t.sibling(t.child(i),2),r=e=>{var i=Oe(),o=t.child(i,!0);t.reset(i),t.template_effect(()=>t.set_text(o,n().message)),t.append(e,i)};t.if(o,e=>{n()instanceof Error&&n().message&&e(r)}),t.reset(i),t.append(e,i)};t.boundary(r,{onerror:e=>{console.error("[plugin]",e)},failed:e},e=>{$e(e,t.spread_props(()=>i,{children:(e,i)=>{var o=t.comment(),r=t.first_child(o);t.snippet(r,()=>n.children??t.noop),t.append(e,o)},$$slots:{default:!0}}))})}t.append(e,o),t.pop()}var Ee={type:"component",metadata:{svelteMajor:5},schema:{name:"bb_component_superfieldrelationship",friendlyName:"Super Field - Relationship",description:"A Relationship Field component for Budibase",icon:"Link",requiredAncestors:["form"],hasChildren:!0,showEmptyState:!1,context:{type:"static",scope:"local",values:[{key:"value",label:"Value"},{key:"label",label:"Label"},{key:"row",label:"Row Data"}]},settings:[{type:"field/link",label:"Field",key:"field",defaultValue:"Relationship Field"},{type:"text",label:"Label",key:"label",resetOn:"field",placeholder:"Field Name"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Choose an option"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"phosphorIcon",key:"icon",label:"Inline Icon"},{type:"validation/link",label:"Validation",key:"validation"},{type:"event",label:"On change",key:"onChange",context:[{key:"value",label:"Value"},{key:"row",label:"Row"}]},{type:"filter/relationship",key:"filter",label:"Filter",resetOn:"field"},{type:"select",label:"Control Type",key:"controlType",defaultValue:"select",resetOn:"field",placeholder:"Pick an options type",options:[{label:"Select",value:"select"},{label:"Table Select",value:"tableSelect"}]},{type:"boolean",label:"Search",key:"search",defaultValue:!0},{type:"boolean",label:"Debounced",key:"debounced",defaultValue:!1},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0},resetOn:"disabled"},{type:"boolean",label:"Copyable",key:"copyable",defaultValue:!1,dependsOn:"readonly",resetOn:["disabled","readonly"]},{tag:"style",dependsOn:"copyable",resetOn:"copyable",type:"select",label:"Copy Icon",key:"copyIcon",defaultValue:"always",options:[{label:"On Hover",value:"onhover"},{label:"Always",value:"always"}]},{type:"componentConfiguration",componentType:"plugin/bb_component_superbutton",key:"buttons",nested:!0,wide:!0},{tag:"style",type:"select",label:"Label Position",key:"labelPosition",showInBar:!0,barStyle:"buttons",defaultValue:"fieldGroup",options:[{label:"Disabled",value:!1,barIcon:"Cancel",barTitle:"Disabled"},{label:"Auto",value:"fieldGroup",barIcon:"Group",barTitle:"Field Group"},{label:"Above",value:"above",barIcon:"MarginTop",barTitle:"Above"},{label:"Left",value:"left",barIcon:"MarginLeft",barTitle:"Left"}]},{tag:"style",type:"select",key:"buttonsPosition",label:"Buttons",showInBar:!0,barStyle:"buttons",defaultValue:"side",options:[{label:"Side",value:"side",barIcon:"arrows-out",barTitle:"Buttons on the side"},{label:"Inline",value:"inline",barIcon:"arrows-in",barTitle:"Buttons inline"}]},{tag:"style",type:"boolean",label:"Custom Picker",key:"renderSlot",defaultValue:!1},{tag:"style",type:"number",key:"pickerWidth",label:"Picker Width",dependsOn:{setting:"renderSlot",value:!0}},{tag:"style",type:"select",label:"Picker Align",key:"pickerAlign",dependsOn:{setting:"renderSlot",value:!0},defaultValue:"left",options:[{label:"Left",value:"left"},{label:"Right",value:"right"}]},{tag:"style",type:"number",label:"Size",key:"span",defaultValue:6,min:2},{tag:"style",type:"select",key:"relViewMode",label:"Mode",options:[{label:"Text",value:"text"},{label:"Pills",value:"pills"}],defaultValue:"text"},{tag:"style",type:"number",label:"Debounce Delay",key:"debounceDelay",minValue:"200",defaultValue:750,dependsOn:"debounced"},{tag:"style",type:"boolean",key:"showDirty",label:"Show Dirty",defaultValue:!1}],styles:["size"]}},Pe="1.0.1";if(window){const e={Component:Ae,schema:Ee,version:Pe};window["##BUDIBASE_CUSTOM_COMPONENTS##"]||(window["##BUDIBASE_CUSTOM_COMPONENTS##"]=[]),window["##BUDIBASE_CUSTOM_COMPONENTS##"].push(e),window.registerCustomComponent&&window.registerCustomComponent(e)}var Ie=Ae,Le=Pe;return e.Component=Ie,e.schema=Ee,e.version=Le,e}({},svelteInternal,svelte,svelteTransition);
@@ -0,0 +1,325 @@
1
+ {
2
+ "type": "component",
3
+ "metadata": {
4
+ "svelteMajor": 5
5
+ },
6
+ "schema": {
7
+ "name": "bb_component_superfieldrelationship",
8
+ "friendlyName": "Super Field - Relationship",
9
+ "description": "A Relationship Field component for Budibase",
10
+ "icon": "Link",
11
+ "requiredAncestors": [
12
+ "form"
13
+ ],
14
+ "hasChildren": true,
15
+ "showEmptyState": false,
16
+ "context": {
17
+ "type": "static",
18
+ "scope": "local",
19
+ "values": [
20
+ {
21
+ "key": "value",
22
+ "label": "Value"
23
+ },
24
+ {
25
+ "key": "label",
26
+ "label": "Label"
27
+ },
28
+ {
29
+ "key": "row",
30
+ "label": "Row Data"
31
+ }
32
+ ]
33
+ },
34
+ "settings": [
35
+ {
36
+ "type": "field/link",
37
+ "label": "Field",
38
+ "key": "field",
39
+ "defaultValue": "Relationship Field"
40
+ },
41
+ {
42
+ "type": "text",
43
+ "label": "Label",
44
+ "key": "label",
45
+ "resetOn": "field",
46
+ "placeholder": "Field Name"
47
+ },
48
+ {
49
+ "type": "text",
50
+ "label": "Placeholder",
51
+ "key": "placeholder",
52
+ "placeholder": "Choose an option"
53
+ },
54
+ {
55
+ "type": "text",
56
+ "label": "Default value",
57
+ "key": "defaultValue",
58
+ "supportsConditions": false
59
+ },
60
+ {
61
+ "type": "text",
62
+ "label": "Help text",
63
+ "key": "helpText"
64
+ },
65
+ {
66
+ "type": "phosphorIcon",
67
+ "key": "icon",
68
+ "label": "Inline Icon"
69
+ },
70
+ {
71
+ "type": "validation/link",
72
+ "label": "Validation",
73
+ "key": "validation"
74
+ },
75
+ {
76
+ "type": "event",
77
+ "label": "On change",
78
+ "key": "onChange",
79
+ "context": [
80
+ {
81
+ "key": "value",
82
+ "label": "Value"
83
+ },
84
+ {
85
+ "key": "row",
86
+ "label": "Row"
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "type": "filter/relationship",
92
+ "key": "filter",
93
+ "label": "Filter",
94
+ "resetOn": "field"
95
+ },
96
+ {
97
+ "type": "select",
98
+ "label": "Control Type",
99
+ "key": "controlType",
100
+ "defaultValue": "select",
101
+ "resetOn": "field",
102
+ "placeholder": "Pick an options type",
103
+ "options": [
104
+ {
105
+ "label": "Select",
106
+ "value": "select"
107
+ },
108
+ {
109
+ "label": "Table Select",
110
+ "value": "tableSelect"
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "type": "boolean",
116
+ "label": "Search",
117
+ "key": "search",
118
+ "defaultValue": true
119
+ },
120
+ {
121
+ "type": "boolean",
122
+ "label": "Debounced",
123
+ "key": "debounced",
124
+ "defaultValue": false
125
+ },
126
+ {
127
+ "type": "boolean",
128
+ "label": "Disabled",
129
+ "key": "disabled",
130
+ "defaultValue": false
131
+ },
132
+ {
133
+ "type": "boolean",
134
+ "label": "Read only",
135
+ "key": "readonly",
136
+ "defaultValue": false,
137
+ "dependsOn": {
138
+ "setting": "disabled",
139
+ "value": true,
140
+ "invert": true
141
+ },
142
+ "resetOn": "disabled"
143
+ },
144
+ {
145
+ "type": "boolean",
146
+ "label": "Copyable",
147
+ "key": "copyable",
148
+ "defaultValue": false,
149
+ "dependsOn": "readonly",
150
+ "resetOn": [
151
+ "disabled",
152
+ "readonly"
153
+ ]
154
+ },
155
+ {
156
+ "tag": "style",
157
+ "dependsOn": "copyable",
158
+ "resetOn": "copyable",
159
+ "type": "select",
160
+ "label": "Copy Icon",
161
+ "key": "copyIcon",
162
+ "defaultValue": "always",
163
+ "options": [
164
+ {
165
+ "label": "On Hover",
166
+ "value": "onhover"
167
+ },
168
+ {
169
+ "label": "Always",
170
+ "value": "always"
171
+ }
172
+ ]
173
+ },
174
+ {
175
+ "type": "componentConfiguration",
176
+ "componentType": "plugin/bb_component_superbutton",
177
+ "key": "buttons",
178
+ "nested": true,
179
+ "wide": true
180
+ },
181
+ {
182
+ "tag": "style",
183
+ "type": "select",
184
+ "label": "Label Position",
185
+ "key": "labelPosition",
186
+ "showInBar": true,
187
+ "barStyle": "buttons",
188
+ "defaultValue": "fieldGroup",
189
+ "options": [
190
+ {
191
+ "label": "Disabled",
192
+ "value": false,
193
+ "barIcon": "Cancel",
194
+ "barTitle": "Disabled"
195
+ },
196
+ {
197
+ "label": "Auto",
198
+ "value": "fieldGroup",
199
+ "barIcon": "Group",
200
+ "barTitle": "Field Group"
201
+ },
202
+ {
203
+ "label": "Above",
204
+ "value": "above",
205
+ "barIcon": "MarginTop",
206
+ "barTitle": "Above"
207
+ },
208
+ {
209
+ "label": "Left",
210
+ "value": "left",
211
+ "barIcon": "MarginLeft",
212
+ "barTitle": "Left"
213
+ }
214
+ ]
215
+ },
216
+ {
217
+ "tag": "style",
218
+ "type": "select",
219
+ "key": "buttonsPosition",
220
+ "label": "Buttons",
221
+ "showInBar": true,
222
+ "barStyle": "buttons",
223
+ "defaultValue": "side",
224
+ "options": [
225
+ {
226
+ "label": "Side",
227
+ "value": "side",
228
+ "barIcon": "arrows-out",
229
+ "barTitle": "Buttons on the side"
230
+ },
231
+ {
232
+ "label": "Inline",
233
+ "value": "inline",
234
+ "barIcon": "arrows-in",
235
+ "barTitle": "Buttons inline"
236
+ }
237
+ ]
238
+ },
239
+ {
240
+ "tag": "style",
241
+ "type": "boolean",
242
+ "label": "Custom Picker",
243
+ "key": "renderSlot",
244
+ "defaultValue": false
245
+ },
246
+ {
247
+ "tag": "style",
248
+ "type": "number",
249
+ "key": "pickerWidth",
250
+ "label": "Picker Width",
251
+ "dependsOn": {
252
+ "setting": "renderSlot",
253
+ "value": true
254
+ }
255
+ },
256
+ {
257
+ "tag": "style",
258
+ "type": "select",
259
+ "label": "Picker Align",
260
+ "key": "pickerAlign",
261
+ "dependsOn": {
262
+ "setting": "renderSlot",
263
+ "value": true
264
+ },
265
+ "defaultValue": "left",
266
+ "options": [
267
+ {
268
+ "label": "Left",
269
+ "value": "left"
270
+ },
271
+ {
272
+ "label": "Right",
273
+ "value": "right"
274
+ }
275
+ ]
276
+ },
277
+ {
278
+ "tag": "style",
279
+ "type": "number",
280
+ "label": "Size",
281
+ "key": "span",
282
+ "defaultValue": 6,
283
+ "min": 2
284
+ },
285
+ {
286
+ "tag": "style",
287
+ "type": "select",
288
+ "key": "relViewMode",
289
+ "label": "Mode",
290
+ "options": [
291
+ {
292
+ "label": "Text",
293
+ "value": "text"
294
+ },
295
+ {
296
+ "label": "Pills",
297
+ "value": "pills"
298
+ }
299
+ ],
300
+ "defaultValue": "text"
301
+ },
302
+ {
303
+ "tag": "style",
304
+ "type": "number",
305
+ "label": "Debounce Delay",
306
+ "key": "debounceDelay",
307
+ "minValue": "200",
308
+ "defaultValue": 750,
309
+ "dependsOn": "debounced"
310
+ },
311
+ {
312
+ "tag": "style",
313
+ "type": "boolean",
314
+ "key": "showDirty",
315
+ "label": "Show Dirty",
316
+ "defaultValue": false
317
+ }
318
+ ],
319
+ "styles": [
320
+ "size"
321
+ ]
322
+ },
323
+ "hash": "dadb2e5630179ca3146cd3e35eca35c1cfa7d155",
324
+ "version": "1.0.1"
325
+ }
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "bb_component_superfieldrelationship",
3
+ "version": "1.0.1",
4
+ "description": "Super Field - Relationship",
5
+ "author": "Michael Poirazi - https://github.com/poirazis",
6
+ "license": "MIT",
7
+ "svelte": "index.js",
8
+ "module": "dist/plugin.min.js",
9
+ "schema.metadata.svelteMajor": 5,
10
+ "type": "module",
11
+ "files": [
12
+ "dist/",
13
+ "README.md"
14
+ ],
15
+ "scripts": {
16
+ "build": "vite build",
17
+ "watch": "NODE_ENV=development vite build --watch --mode development"
18
+ },
19
+ "dependencies": {
20
+ "@poirazis/superlib": "latest"
21
+ },
22
+ "exports": {
23
+ ".": {
24
+ "import": "./dist/plugin.min.js",
25
+ "require": "./dist/plugin.min.js"
26
+ }
27
+ },
28
+ "devDependencies": {
29
+ "@budibase/backend-core": "^3.39.22",
30
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
31
+ "tar": "^7.5.16",
32
+ "terser": "^5.48.0",
33
+ "vite": "^8.1.0",
34
+ "vite-plugin-css-injected-by-js": "^5.0.1",
35
+ "vite-plugin-singlefile": "^2.3.3"
36
+ },
37
+ "peerDependencies": {
38
+ "svelte": "5.55.10"
39
+ }
40
+ }