@humandialog/forms.svelte 1.7.12 → 1.7.13

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.
@@ -1,6 +1,6 @@
1
1
  <script>import { setContext, getContext, afterUpdate, tick, onMount } from "svelte";
2
2
  import { data_tick_store, contextItemsStore, contextTypesStore } from "../../stores";
3
- import { activateItem, getActive, clearActiveItem, parseWidthDirective, getPrev, getNext, swapElements, getLast, insertAfter, getActiveCount, addActiveItem } from "../../utils";
3
+ import { activateItem, getActive, clearActiveItem, parseWidthDirective, getPrev, getNext, swapElements, getLast, insertAfter, getActiveCount, addActiveItem, getFirst, insertAt, remove as removeFrom } from "../../utils";
4
4
  import Icon from "../icon.svelte";
5
5
  import { FaRegCircle, FaRegCheckCircle } from "svelte-icons/fa/";
6
6
  import { rList_definition } from "./List";
@@ -139,7 +139,8 @@ export function reload(data, selectElement = KEEP_SELECTION) {
139
139
  activate_after_dom_update = itemToActivate;
140
140
  }
141
141
  }
142
- }
142
+ } else
143
+ clearActiveItem(selectionKey);
143
144
  }
144
145
  export async function moveUp(element) {
145
146
  if (!orderAttrib)
@@ -169,6 +170,30 @@ export async function moveDown(element) {
169
170
  informModification(next, orderAttrib);
170
171
  pushChanges();
171
172
  }
173
+ export async function moveTop(element) {
174
+ if (!orderAttrib)
175
+ return;
176
+ let current = getFirst(items);
177
+ if (current == element)
178
+ return;
179
+ const firstOrder = current[orderAttrib];
180
+ while (current != element) {
181
+ const next = getNext(items, current);
182
+ const nextOrder = next[orderAttrib];
183
+ current[orderAttrib] = nextOrder;
184
+ informModification(current, orderAttrib);
185
+ current = next;
186
+ }
187
+ element[orderAttrib] = firstOrder;
188
+ informModification(element, orderAttrib);
189
+ items = removeFrom(items, element);
190
+ items = insertAt(items, 0, element);
191
+ await tick();
192
+ scrollToSelectedElement();
193
+ pushChanges();
194
+ }
195
+ export async function moveBottom(element) {
196
+ }
172
197
  let last_activated_element = null;
173
198
  export async function addRowAfter(after = null) {
174
199
  if (!definition.can_insert)
@@ -26,6 +26,8 @@ declare const __propDef: {
26
26
  reload?: ((data: object | object[], selectElement?: number) => void) | undefined;
27
27
  moveUp?: ((element: object) => Promise<void>) | undefined;
28
28
  moveDown?: ((element: object) => Promise<void>) | undefined;
29
+ moveTop?: ((element: object) => Promise<void>) | undefined;
30
+ moveBottom?: ((element: object) => Promise<void>) | undefined;
29
31
  addRowAfter?: ((after?: object | null) => Promise<void>) | undefined;
30
32
  remove?: ((element: object) => void) | undefined;
31
33
  edit?: ((element: object, property_name: string) => void) | undefined;
@@ -59,6 +61,8 @@ export default class List extends SvelteComponentTyped<ListProps, ListEvents, Li
59
61
  get reload(): (data: object | object[], selectElement?: number) => void;
60
62
  get moveUp(): (element: object) => Promise<void>;
61
63
  get moveDown(): (element: object) => Promise<void>;
64
+ get moveTop(): (element: object) => Promise<void>;
65
+ get moveBottom(): (element: object) => Promise<void>;
62
66
  get addRowAfter(): (after?: object | null) => Promise<void>;
63
67
  get remove(): (element: object) => void;
64
68
  get edit(): (element: object, property_name: string) => void;
package/dialog.svelte ADDED
@@ -0,0 +1,49 @@
1
+ <script>import { afterUpdate, onMount, tick } from "svelte";
2
+ import Icon from "./components/icon.svelte";
3
+ import { pushToolsActionsOperations, popToolsActionsOperations, fabHiddenDueToPopup } from "./stores.js";
4
+ import { isDeviceSmallerThan } from "./utils";
5
+ import { FaTimes } from "svelte-icons/fa";
6
+ import { i18n } from "./i18n.js";
7
+ export let open = false;
8
+ export function show(on_close_callback = void 0) {
9
+ open = true;
10
+ close_callback = on_close_callback;
11
+ if (isDeviceSmallerThan("sm")) {
12
+ $fabHiddenDueToPopup = true;
13
+ }
14
+ }
15
+ export function hide() {
16
+ if (!open)
17
+ return;
18
+ open = false;
19
+ $fabHiddenDueToPopup = false;
20
+ }
21
+ let root;
22
+ afterUpdate(
23
+ async () => {
24
+ if (!!root) {
25
+ let modal_root = document.getElementById("__hd_svelte_modal_root");
26
+ if (!!modal_root && root.parentElement != modal_root) {
27
+ await tick();
28
+ modal_root.appendChild(root);
29
+ }
30
+ }
31
+ }
32
+ );
33
+ let close_callback = void 0;
34
+ </script>
35
+
36
+ {#if open}
37
+ <div class="relative z-30" aria-labelledby="modal-title" role="dialog" aria-modal="true" bind:this={root}>
38
+ <div class="fixed w-screen h-screen inset-0 bg-stone-500 dark:bg-stone-800 bg-opacity-75 dark:bg-opacity-75 transition-opacity"></div>
39
+
40
+ <div class="fixed z-30 inset-0 w-screen overflow-y-auto">
41
+ <div class="flex min-h-full items-end justify-center p-1 text-center sm:items-center sm:p-0">
42
+ <div class=" p-2 bg-stone-100 dark:bg-stone-800 rounded-lg shadow-md shadow-stone-500 dark:shadow-black text-left shadow-xl transition-all
43
+ sm:my-8 w-full sm:max-w-lg"> <!-- transform overflow-hidden -->
44
+ <slot/>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ {/if}
@@ -0,0 +1,22 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ open?: boolean | undefined;
5
+ show?: ((on_close_callback?: Function | undefined) => void) | undefined;
6
+ hide?: (() => void) | undefined;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ default: {};
13
+ };
14
+ };
15
+ export type DialogProps = typeof __propDef.props;
16
+ export type DialogEvents = typeof __propDef.events;
17
+ export type DialogSlots = typeof __propDef.slots;
18
+ export default class Dialog extends SvelteComponentTyped<DialogProps, DialogEvents, DialogSlots> {
19
+ get show(): (on_close_callback?: Function | undefined) => void;
20
+ get hide(): () => void;
21
+ }
22
+ export {};
package/index.d.ts CHANGED
@@ -42,6 +42,7 @@ export { default as ListComboProperty } from './components/list/list.combo.svelt
42
42
  export { default as ListStaticProperty } from './components/list/list.static.svelte';
43
43
  export { default as ListTags } from './components/list/list.tags.svelte';
44
44
  export { default as Modal } from './modal.svelte';
45
+ export { default as Dialog } from './dialog.svelte';
45
46
  export { default as MembersPage } from './tenant.members.svelte';
46
47
  export { default as Console } from './console.svelte';
47
48
  export { default as Tag } from './components/tag.svelte';
package/index.js CHANGED
@@ -48,6 +48,7 @@ export { default as ListComboProperty } from './components/list/list.combo.svelt
48
48
  export { default as ListStaticProperty } from './components/list/list.static.svelte';
49
49
  export { default as ListTags } from './components/list/list.tags.svelte';
50
50
  export { default as Modal } from './modal.svelte';
51
+ export { default as Dialog } from './dialog.svelte';
51
52
  export { default as MembersPage } from './tenant.members.svelte';
52
53
  export { default as Console } from './console.svelte';
53
54
  export { default as Tag } from './components/tag.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@humandialog/forms.svelte",
3
- "version": "1.7.12",
3
+ "version": "1.7.13",
4
4
  "description": "Basic Svelte UI components for Object Reef applications",
5
5
  "devDependencies": {
6
6
  "@playwright/test": "^1.28.1",
@@ -156,6 +156,7 @@
156
156
  "./components/tile.title.svelte": "./components/tile.title.svelte",
157
157
  "./console.svelte": "./console.svelte",
158
158
  "./desk.svelte": "./desk.svelte",
159
+ "./dialog.svelte": "./dialog.svelte",
159
160
  "./form.box.svelte": "./form.box.svelte",
160
161
  "./horizontal.toolbar.svelte": "./horizontal.toolbar.svelte",
161
162
  "./i18n-preprocess": "./i18n-preprocess.js",