@humandialog/forms.svelte 0.4.45 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/components/Fab.svelte +60 -48
  2. package/components/Floating_container.svelte +5 -4
  3. package/components/Floating_container.svelte.d.ts +2 -2
  4. package/components/Grid.menu.svelte +13 -9
  5. package/components/Grid.menu.svelte.d.ts +2 -2
  6. package/components/button.svelte +4 -4
  7. package/components/checkbox.svelte +12 -10
  8. package/components/checkbox.svelte.d.ts +1 -0
  9. package/components/combo/combo.d.ts +1 -1
  10. package/components/combo/combo.js +1 -1
  11. package/components/combo/combo.source.svelte +2 -2
  12. package/components/combo/combo.source.svelte.d.ts +1 -1
  13. package/components/combo/combo.svelte +92 -61
  14. package/components/combo/combo.svelte.d.ts +7 -4
  15. package/components/contextmenu.svelte +20 -19
  16. package/components/contextmenu.svelte.d.ts +5 -5
  17. package/components/date.svelte +40 -25
  18. package/components/date.svelte.d.ts +3 -2
  19. package/components/delayed.spinner.svelte +2 -2
  20. package/components/document/internal/palette.row.svelte +3 -3
  21. package/components/document/internal/palette.svelte +2 -2
  22. package/components/document/internal/palette.svelte.d.ts +1 -1
  23. package/components/document/rich.edit.svelte +307 -35
  24. package/components/document/rich.edit.svelte.d.ts +9 -0
  25. package/components/edit.field.svelte +17 -15
  26. package/components/edit.field.svelte.d.ts +2 -1
  27. package/components/file.loader.svelte +6 -6
  28. package/components/file.loader.svelte.d.ts +10 -10
  29. package/components/icon.svelte +2 -2
  30. package/components/icon.svelte.d.ts +3 -3
  31. package/components/input.text.svelte +3 -3
  32. package/components/inputbox.ltop.svelte +19 -17
  33. package/components/inputbox.ltop.svelte.d.ts +4 -2
  34. package/components/kanban/Kanban.d.ts +23 -0
  35. package/components/kanban/Kanban.js +23 -0
  36. package/components/kanban/internal/kanban.card.svelte +158 -0
  37. package/components/kanban/internal/kanban.card.svelte.d.ts +35 -0
  38. package/components/kanban/internal/kanban.column.svelte +181 -0
  39. package/components/kanban/internal/kanban.column.svelte.d.ts +51 -0
  40. package/components/kanban/internal/kanban.inserter.svelte +24 -0
  41. package/components/kanban/internal/kanban.inserter.svelte.d.ts +18 -0
  42. package/components/kanban/internal/kanban.move.menu.svelte +146 -0
  43. package/components/kanban/internal/kanban.move.menu.svelte.d.ts +19 -0
  44. package/components/kanban/kanban.callbacks.svelte +15 -0
  45. package/components/kanban/kanban.callbacks.svelte.d.ts +21 -0
  46. package/components/kanban/kanban.column.svelte +20 -0
  47. package/components/kanban/kanban.column.svelte.d.ts +21 -0
  48. package/components/kanban/kanban.summary.svelte +5 -0
  49. package/components/kanban/kanban.summary.svelte.d.ts +16 -0
  50. package/components/kanban/kanban.svelte +156 -0
  51. package/components/kanban/kanban.svelte.d.ts +43 -0
  52. package/components/kanban/kanban.title.svelte +8 -0
  53. package/components/kanban/kanban.title.svelte.d.ts +17 -0
  54. package/components/list/List.d.ts +4 -2
  55. package/components/list/List.js +4 -2
  56. package/components/list/internal/list.element.props.svelte +7 -8
  57. package/components/list/internal/list.element.props.svelte.d.ts +2 -2
  58. package/components/list/internal/list.element.summary.svelte +4 -4
  59. package/components/list/internal/list.element.summary.svelte.d.ts +1 -1
  60. package/components/list/internal/list.element.svelte +61 -49
  61. package/components/list/internal/list.element.svelte.d.ts +4 -4
  62. package/components/list/internal/list.inserter.svelte +9 -6
  63. package/components/list/internal/list.inserter.svelte.d.ts +1 -1
  64. package/components/list/list.combo.svelte +2 -2
  65. package/components/list/list.combo.svelte.d.ts +1 -1
  66. package/components/list/list.date.svelte +2 -2
  67. package/components/list/list.date.svelte.d.ts +1 -1
  68. package/components/list/list.inserter.svelte +1 -1
  69. package/components/list/list.summary.svelte +2 -2
  70. package/components/list/list.summary.svelte.d.ts +1 -1
  71. package/components/list/list.svelte +173 -35
  72. package/components/list/list.svelte.d.ts +27 -10
  73. package/components/list/list.title.svelte +6 -2
  74. package/components/list/list.title.svelte.d.ts +3 -1
  75. package/components/menu.d.ts +4 -4
  76. package/components/menu.js +15 -13
  77. package/components/radio.svelte +12 -10
  78. package/components/radio.svelte.d.ts +1 -0
  79. package/components/sidebar/sidebar.group.svelte +1 -13
  80. package/components/sidebar/sidebar.group.svelte.d.ts +0 -4
  81. package/components/sidebar/sidebar.item.svelte +13 -13
  82. package/components/sidebar/sidebar.list.svelte +68 -0
  83. package/components/sidebar/sidebar.list.svelte.d.ts +33 -0
  84. package/components/sidebar/sidebar.svelte +1 -1
  85. package/components/simple.table.svelte +15 -15
  86. package/components/simple.table.svelte.d.ts +2 -2
  87. package/components/table/_template.table.svelte +17 -17
  88. package/components/table/_template.table.svelte.d.ts +2 -2
  89. package/components/table/table.svelte +31 -31
  90. package/components/table/table.svelte.d.ts +8 -8
  91. package/components/textarea.ltop.svelte +4 -4
  92. package/components/tile.title.svelte +6 -6
  93. package/desk.svelte +13 -13
  94. package/form.box.svelte +2 -2
  95. package/horizontal.toolbar.svelte +24 -15
  96. package/horizontal.toolbar.svelte.d.ts +2 -2
  97. package/index.d.ts +14 -5
  98. package/index.js +14 -5
  99. package/modal.svelte +17 -17
  100. package/modal.svelte.d.ts +4 -4
  101. package/operations.svelte +42 -27
  102. package/package.json +12 -1
  103. package/page.svelte +115 -124
  104. package/page.svelte.d.ts +4 -4
  105. package/stores.d.ts +9 -7
  106. package/stores.js +17 -9
  107. package/tenant.members.svelte +44 -44
  108. package/tenant.members.svelte.d.ts +10 -10
  109. package/tile.svelte +3 -3
  110. package/tiles.vertical.row.svelte +1 -1
  111. package/updates.d.ts +3 -3
  112. package/updates.js +35 -3
  113. package/utils.d.ts +22 -13
  114. package/utils.js +198 -50
  115. package/vertical.toolbar.svelte +22 -13
  116. package/vertical.toolbar.svelte.d.ts +2 -2
@@ -1,6 +1,6 @@
1
- <script>import { data_tick_store, context_items_store, context_types_store } from "../../stores.js";
2
- import { inform_modification, push_changes } from "../../updates.js";
3
- import { parse_width_directive, should_be_comapact } from "../../utils.js";
1
+ <script>import { data_tick_store, contextItemsStore, contextTypesStore } from "../../stores.js";
2
+ import { informModification, pushChanges } from "../../updates.js";
3
+ import { parseWidthDirective, shouldBeComapact } from "../../utils.js";
4
4
  import { afterUpdate, getContext, onMount, setContext } from "svelte";
5
5
  import { rCombo_definition, rCombo_item, cached_sources } from "./combo";
6
6
  import FaChevronDown from "svelte-icons/fa/FaChevronDown.svelte";
@@ -9,20 +9,23 @@ import { reef } from "@humandialog/auth.svelte/dist/index.js";
9
9
  export let label = "";
10
10
  export let self = null;
11
11
  export let a = "";
12
- export let is_association = false;
12
+ export let isAssociation = false;
13
13
  export let context = "";
14
14
  export let typename = "";
15
- export let choice_callback = "";
16
- export let on_select = void 0;
15
+ export let choiceCallback = "";
16
+ export let onSelect = void 0;
17
17
  export let definition = null;
18
18
  export let changed = void 0;
19
+ export let onNewItemCreated = void 0;
19
20
  export let icon = false;
20
- export let placeholder = "Choose wisely...";
21
+ export let placeholder = "";
21
22
  export let s = "sm";
22
23
  export let c = "";
23
24
  export let compact = false;
24
- export let in_context = "sel";
25
+ export let inContext = "sel";
25
26
  export let cached = false;
27
+ export let filtered = false;
28
+ export let pushChangesImmediately = true;
26
29
  let is_compact = getContext("rIs-table-component") || compact;
27
30
  if (!definition) {
28
31
  definition = new rCombo_definition();
@@ -41,8 +44,9 @@ let root_element;
41
44
  let label_mb = "mb-1";
42
45
  let input_pt = "pt-0.5";
43
46
  let input_pb = "pb-1";
44
- let font_size = "text-sm";
47
+ let font_size = "text-lg sm:text-sm";
45
48
  let line_h = "h-5";
49
+ let chevron_mt = "mt-2 sm:mt-0";
46
50
  switch (s) {
47
51
  case "md":
48
52
  label_mb = "mb-2";
@@ -50,6 +54,7 @@ switch (s) {
50
54
  input_pb = "pb-2.5";
51
55
  font_size = "text-lg sm:text-sm";
52
56
  line_h = "h-7 sm:h-5";
57
+ chevron_mt = "mt-2 sm:mt-1";
53
58
  break;
54
59
  case "xs":
55
60
  label_mb = "mb-0.5";
@@ -57,6 +62,7 @@ switch (s) {
57
62
  input_pb = "pb-0.5";
58
63
  font_size = "text-base sm:text-xs";
59
64
  line_h = "h-6 sm:h-4";
65
+ chevron_mt = "";
60
66
  break;
61
67
  }
62
68
  let background_class = is_compact && !icon ? "" : "";
@@ -64,36 +70,36 @@ let appearance_class;
64
70
  if (is_compact)
65
71
  appearance_class = `${font_size}`;
66
72
  else
67
- appearance_class = ` bg-gray-50 border border-gray-300 text-gray-900 ${font_size} rounded-lg
68
- focus:ring-primary-600 focus:border-primary-600 block w-full ${input_pb} ${input_pt} px-2.5 dark:bg-gray-700
69
- dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500`;
70
- let cs = c ? parse_width_directive(c) : "col-span-1";
73
+ appearance_class = ` bg-stone-50 border border-stone-300 text-stone-900 ${font_size} rounded-lg
74
+ focus:ring-primary-600 focus:border-primary-600 block w-full ${input_pb} ${input_pt} px-2.5 dark:bg-stone-700
75
+ dark:border-stone-600 dark:placeholder-stone-400 dark:text-white dark:focus:ring-primary-500 dark:focus:border-primary-500`;
76
+ let cs = c ? parseWidthDirective(c) : "col-span-1";
71
77
  let ctx = context ? context : getContext("ctx");
72
78
  let can_be_activated = true;
73
79
  let last_tick = -1;
74
80
  $:
75
- setup($data_tick_store, $context_items_store);
81
+ setup($data_tick_store, $contextItemsStore);
76
82
  function setup(...args) {
77
83
  last_tick = $data_tick_store;
78
- item = self ?? $context_items_store[ctx];
84
+ item = self ?? $contextItemsStore[ctx];
79
85
  if (!typename)
80
- typename = $context_types_store[ctx];
86
+ typename = $contextTypesStore[ctx];
81
87
  if (!label)
82
88
  label = a;
83
89
  tick_request_internal = tick_request_internal + 1;
84
90
  if (is_compact) {
85
91
  can_be_activated = false;
86
- let contexts = in_context.split(" ");
92
+ let contexts = inContext.split(" ");
87
93
  contexts.forEach((ctx2) => {
88
- if ($context_items_store[ctx2] == item)
94
+ if ($contextItemsStore[ctx2] == item)
89
95
  can_be_activated = true;
90
96
  });
91
97
  } else
92
98
  can_be_activated = true;
93
99
  }
94
100
  onMount(() => {
95
- if (definition.on_collect)
96
- definition.on_collect().then((source) => source_fetched(source));
101
+ if (definition.onCollect)
102
+ definition.onCollect().then((source) => source_fetched(source));
97
103
  else if (definition.collection_expr)
98
104
  fetch_source_from_association().then((source) => source_fetched(source));
99
105
  else if (definition.collection_path)
@@ -175,24 +181,23 @@ export function show(event, hide_callback) {
175
181
  if (show_above)
176
182
  dropdown_position += " transform: translate(0, -100%);";
177
183
  }
178
- console.log("combo show pos", dropdown_position, "rect", rect, "client_rect", client_rect, "combo", combo);
179
184
  is_dropdown_open = true;
180
- if (!textbox)
181
- return;
182
- textbox.innerHTML = "";
183
- tick_request_internal = tick_request_internal + 1;
184
- if (!mutation_observer)
185
- mutation_observer = new MutationObserver(() => {
186
- on_input_change();
185
+ if (filtered) {
186
+ if (!textbox)
187
+ return;
188
+ textbox.innerHTML = "";
189
+ tick_request_internal = tick_request_internal + 1;
190
+ if (!mutation_observer)
191
+ mutation_observer = new MutationObserver(() => {
192
+ on_input_change();
193
+ });
194
+ mutation_observer.observe(textbox, {
195
+ childList: true,
196
+ attributes: true,
197
+ characterData: true,
198
+ subtree: true
187
199
  });
188
- mutation_observer.observe(textbox, {
189
- childList: true,
190
- attributes: true,
191
- characterData: true,
192
- subtree: true
193
- });
194
- filtered_source = definition.source.map((e) => e);
195
- highlighted_option = filtered_source.length > 0 ? filtered_source[0] : null;
200
+ }
196
201
  }
197
202
  export function hide() {
198
203
  if (mutation_observer)
@@ -243,26 +248,29 @@ function get_combo_text() {
243
248
  if (found)
244
249
  return found.Name ?? found.Key;
245
250
  else
246
- return !is_compact ? placeholder : "";
251
+ return placeholder;
247
252
  } else
248
253
  return textbox.innerHTML;
249
254
  }
250
255
  async function on_choose(itm) {
251
256
  hide();
252
- if (on_select) {
253
- await on_select(item, itm.Key, itm.Name);
257
+ if (onSelect) {
258
+ if (itm == new_item_option)
259
+ await onNewItemCreated(itm.Key, itm.Name);
260
+ else
261
+ await onSelect(item, itm.Key, itm.Name);
254
262
  tick_request_internal = tick_request_internal + 1;
255
263
  } else {
256
- if (is_association) {
257
- if (choice_callback) {
264
+ if (isAssociation) {
265
+ if (choiceCallback) {
258
266
  let body = {
259
267
  choice: itm.Key
260
268
  };
261
269
  let path;
262
270
  if (item.$ref)
263
- path = `${item.$ref}/${choice_callback}`;
271
+ path = `${item.$ref}/${choiceCallback}`;
264
272
  else
265
- path = `${typename}/${item.Id}/${choice_callback}`;
273
+ path = `${typename}/${item.Id}/${choiceCallback}`;
266
274
  let fields = calc_path_fields_param();
267
275
  if (fields)
268
276
  path += fields;
@@ -294,12 +302,12 @@ async function on_choose(itm) {
294
302
  }
295
303
  }
296
304
  } else {
297
- if (choice_callback) {
305
+ if (choiceCallback) {
298
306
  let path;
299
307
  if (item.$ref)
300
- path = `/${item.$ref}/${choice_callback}`;
308
+ path = `/${item.$ref}/${choiceCallback}`;
301
309
  else
302
- path = `/${typename}/${item.Id}/${choice_callback}`;
310
+ path = `/${typename}/${item.Id}/${choiceCallback}`;
303
311
  let fields = calc_path_fields_param();
304
312
  if (fields)
305
313
  path += fields;
@@ -313,8 +321,9 @@ async function on_choose(itm) {
313
321
  item[a] = itm.Key ?? itm.Name;
314
322
  tick_request_internal = tick_request_internal + 1;
315
323
  if (item && a && typename) {
316
- inform_modification(item, a, typename);
317
- push_changes();
324
+ informModification(item, a, typename);
325
+ if (pushChangesImmediately)
326
+ pushChanges();
318
327
  }
319
328
  }
320
329
  }
@@ -370,13 +379,23 @@ function on_input_change() {
370
379
  filtered_source = get_filtered_source();
371
380
  highlighted_option = filtered_source.length > 0 ? filtered_source[0] : null;
372
381
  }
382
+ let new_item_option;
373
383
  function get_filtered_source() {
374
- if (!textbox)
384
+ if (!textbox || !filtered)
375
385
  return definition.source;
376
386
  else if (textbox.innerHTML) {
377
- return definition.source.filter((e) => {
387
+ let result = definition.source.filter((e) => {
378
388
  return e.Name && e.Name.toLowerCase().includes(textbox.innerHTML.toLowerCase()) || e.Key && e.Key.toString().toLowerCase().includes(textbox.innerHTML.toLowerCase());
379
389
  });
390
+ if (onNewItemCreated) {
391
+ if (!new_item_option)
392
+ new_item_option = new rCombo_item();
393
+ let new_name = textbox.innerHTML;
394
+ new_item_option.Key = new_name;
395
+ new_item_option.Name = `Create '${new_name}'`;
396
+ result = [new_item_option, ...result];
397
+ }
398
+ return result;
380
399
  } else
381
400
  return definition.source;
382
401
  }
@@ -479,6 +498,8 @@ function source_fetched(source) {
479
498
  }
480
499
  definition.source.push(el);
481
500
  });
501
+ filtered_source = definition.source.map((e) => e);
502
+ highlighted_option = filtered_source.length > 0 ? filtered_source[0] : null;
482
503
  }
483
504
  function setup_view(...args) {
484
505
  if (tick_request_internal <= last_tick_internal)
@@ -506,7 +527,7 @@ function on_focus_out(e) {
506
527
  on:focusout={on_focus_out}
507
528
  bind:this={root_element}>
508
529
  {#if !is_compact}
509
- <label for="name" class="block {label_mb} text-xs font-small text-gray-900 dark:text-white">{label}</label>
530
+ <label for="name" class="block {label_mb} text-xs font-small text-stone-900 dark:text-white">{label}</label>
510
531
  {/if}
511
532
  <!-- svelte-ignore a11y-click-events-have-key-events -->
512
533
  <div bind:this={combo}
@@ -528,23 +549,26 @@ function on_focus_out(e) {
528
549
 
529
550
 
530
551
  <p bind:this={textbox}
531
- class="dark:text-gray-300 {line_h} truncate sm:pl-2.5 pr-2.5 {background_class}"
552
+ class="dark:text-stone-300 {line_h} truncate pl-0 pr-2.5 {background_class} min-w-[2.5rem]"
532
553
  class:ml-2={icon}
533
- class:text-gray-400={ (!is_dropdown_open) && (!sel_item)}
534
- class:text-gray-700={ is_dropdown_open || sel_item }
554
+ class:text-stone-400={ (!is_dropdown_open) && (!sel_item)}
555
+ class:text-stone-700={ is_dropdown_open || sel_item }
535
556
  class:w-10={!combo_text}
536
- contenteditable={is_dropdown_open}
537
- on:keydown={on_keydown}>
557
+ contenteditable={is_dropdown_open && filtered}
558
+ on:keydown={on_keydown}
559
+ tabindex="0">
538
560
  {combo_text}</p>
539
561
  </div>
540
562
 
541
563
  {#if can_be_activated }
542
- <Icon size={3} component={FaChevronDown} class="flex-none text-gray-700 dark:text-gray-300"/>
564
+ <div class="w-3 h-3 no-print flex-none text-stone-700 dark:text-stone-300 {chevron_mt}">
565
+ <FaChevronDown/>
566
+ </div>
543
567
  {/if}
544
568
  </div>
545
569
 
546
570
  <div hidden={!is_dropdown_open}
547
- class="{cs} bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400 rounded-lg border border-gray-200 dark:border-gray-700 shadow-md overflow-y-auto cursor-pointer z-30"
571
+ class="{cs} bg-white dark:bg-stone-800 text-stone-500 dark:text-stone-400 rounded-lg border border-stone-200 dark:border-stone-700 shadow-md overflow-y-auto cursor-pointer z-30"
548
572
  style={dropdown_position}
549
573
  use:dropdown_action>
550
574
  <ul class="py-1">
@@ -555,9 +579,9 @@ function on_focus_out(e) {
555
579
  {#each _filtered_source as item (item.Key)}
556
580
  <!-- svelte-ignore a11y-click-events-have-key-events -->
557
581
  <li class="rounded p-2 flex flex-row items-center {font_size}"
558
- class:bg-gray-100={highlighted_option == item}
559
- class:dark:bg-gray-700={highlighted_option == item}
560
- class:dark:hover:bg-gray-700={highlighted_option == item}
582
+ class:bg-stone-100={highlighted_option == item}
583
+ class:dark:bg-stone-700={highlighted_option == item}
584
+ class:dark:hover:bg-stone-700={highlighted_option == item}
561
585
  on:mousemove={() => on_mouse_move(item)}
562
586
  on:click|preventDefault|stopPropagation={async () => await on_choose(item)}
563
587
  tabindex="-1">
@@ -597,4 +621,11 @@ function on_focus_out(e) {
597
621
  outline: 0px solid transparent;
598
622
  }
599
623
 
624
+ @media print
625
+ {
626
+ .no-print, .no-print *{
627
+ display: none !important;
628
+ }
629
+ }
630
+
600
631
  </style>
@@ -5,20 +5,23 @@ declare const __propDef: {
5
5
  label?: string | undefined;
6
6
  self?: null | undefined;
7
7
  a?: string | undefined;
8
- is_association?: boolean | undefined;
8
+ isAssociation?: boolean | undefined;
9
9
  context?: string | undefined;
10
10
  typename?: string | undefined;
11
- choice_callback?: string | undefined;
12
- on_select?: undefined;
11
+ choiceCallback?: string | undefined;
12
+ onSelect?: undefined;
13
13
  definition?: rCombo_definition | null | undefined;
14
14
  changed?: undefined;
15
+ onNewItemCreated?: undefined;
15
16
  icon?: boolean | undefined;
16
17
  placeholder?: string | undefined;
17
18
  s?: string | undefined;
18
19
  c?: string | undefined;
19
20
  compact?: boolean | undefined;
20
- in_context?: string | undefined;
21
+ inContext?: string | undefined;
21
22
  cached?: boolean | undefined;
23
+ filtered?: boolean | undefined;
24
+ pushChangesImmediately?: boolean | undefined;
22
25
  show?: ((event: any, hide_callback: any) => void) | undefined;
23
26
  hide?: (() => void) | undefined;
24
27
  };
@@ -1,9 +1,9 @@
1
1
  <script>import { afterUpdate, tick } from "svelte";
2
2
  import Icon from "./icon.svelte";
3
- import { context_items_store } from "../stores";
4
- import { is_device_smaller_than } from "../utils";
5
- import { hide_whole_context_menu } from "./menu";
6
- export let width_px = 400;
3
+ import { contextItemsStore } from "../stores";
4
+ import { isDeviceSmallerThan } from "../utils";
5
+ import { hideWholeContextMenu } from "./menu";
6
+ export let widthPx = 400;
7
7
  export let menu_items_id_prefix = "__hd_svelte_menuitem_";
8
8
  export let owner_menu_item = void 0;
9
9
  let x = 0;
@@ -22,7 +22,8 @@ afterUpdate(() => {
22
22
  let rect = menu_root.getBoundingClientRect();
23
23
  if (rect.height == 0)
24
24
  return;
25
- let container_rect = new DOMRect(0, 0, window.innerWidth, window.innerHeight);
25
+ const m = 15;
26
+ let container_rect = new DOMRect(m, 0, window.innerWidth - 2 * m, window.innerHeight);
26
27
  if (rect.right > container_rect.right)
27
28
  x = container_rect.right - rect.width;
28
29
  if (rect.bottom > container_rect.bottom)
@@ -56,7 +57,7 @@ export async function show(around, _operations) {
56
57
  if (menu_items.length)
57
58
  focus_menu_item(focused_index);
58
59
  }
59
- export function is_visible() {
60
+ export function isVisible() {
60
61
  return visible;
61
62
  }
62
63
  export function hide() {
@@ -64,7 +65,7 @@ export function hide() {
64
65
  window.removeEventListener("click", on_before_window_click, true);
65
66
  menu_root.removeEventListener("click", on_before_container_click, true);
66
67
  }
67
- export function get_rendered_rect() {
68
+ export function getRenderedRect() {
68
69
  if (menu_root)
69
70
  return menu_root.getBoundingClientRect();
70
71
  else
@@ -87,7 +88,7 @@ function on_keydown(e, operation, index) {
87
88
  switch (e.key) {
88
89
  case "Esc":
89
90
  case "Escape":
90
- hide_whole_context_menu();
91
+ hideWholeContextMenu();
91
92
  break;
92
93
  case "ArrowDown":
93
94
  navigate_down();
@@ -126,7 +127,7 @@ function navigate_down() {
126
127
  }
127
128
  }
128
129
  function on_change_focus(e) {
129
- if (!is_device_smaller_than("sm")) {
130
+ if (!isDeviceSmallerThan("sm")) {
130
131
  if (e.relatedTarget && e.relatedTarget.id.startsWith(menu_items_id_prefix))
131
132
  return;
132
133
  else
@@ -141,14 +142,14 @@ function execute_action(operation, index) {
141
142
  focus_menu_item(index);
142
143
  return;
143
144
  }
144
- hide_whole_context_menu();
145
+ hideWholeContextMenu();
145
146
  if (!operation)
146
147
  return;
147
148
  if (!operation.action)
148
149
  return;
149
150
  let context_item = null;
150
- if ($context_items_store.focused)
151
- context_item = $context_items_store[$context_items_store.focused];
151
+ if ($contextItemsStore.focused)
152
+ context_item = $contextItemsStore[$contextItemsStore.focused];
152
153
  operation.action(context_item);
153
154
  }
154
155
  function focus_menu_item(index) {
@@ -162,7 +163,7 @@ function focus_menu_item(index) {
162
163
  let _x = rect.right;
163
164
  let _y = rect.top;
164
165
  let submenu_width = min_width_px;
165
- let rendered_rect = submenus[focused_index].get_rendered_rect();
166
+ let rendered_rect = submenus[focused_index].getRenderedRect();
166
167
  if (rendered_rect && rendered_rect.width > 0)
167
168
  submenu_width = rendered_rect.width;
168
169
  if (_x + submenu_width > container_rect.right) {
@@ -188,7 +189,7 @@ function hide_submenu() {
188
189
  </script>
189
190
 
190
191
  <div id="__hd_svelte_contextmenu"
191
- class=" bg-white dark:bg-gray-700 text-slate-600 dark:text-gray-400 rounded-lg border border-gray-200 dark:border-gray-900 shadow-md
192
+ class=" bg-white dark:bg-stone-700 text-stone-600 dark:text-stone-400 rounded-lg border border-stone-200 dark:border-stone-900 shadow-md
192
193
  z-30 fixed min-w-[{min_width_px}px] w-max"
193
194
  style={`left:${x}px; top:${y}px; display:${display}`}
194
195
  bind:this={menu_root}>
@@ -196,14 +197,14 @@ function hide_submenu() {
196
197
  {#each operations as operation, index}
197
198
  {@const is_separator = operation.separator}
198
199
  {#if is_separator}
199
- <hr class="my-1 mx-0 border-1 dark:border-slate-900">
200
+ <hr class="my-1 mx-0 border-1 dark:border-stone-900">
200
201
  {:else}
201
- {@const mobile = is_device_smaller_than("sm")}
202
+ {@const mobile = isDeviceSmallerThan("sm")}
202
203
  {@const icon_placeholder_without_desc = mobile ? 12 : 10}
203
204
  {@const icon_placeholder_with_desc = mobile ? 14 : 12}
204
205
  {@const icon_placeholder_size = operation.description ? icon_placeholder_with_desc : icon_placeholder_without_desc}
205
206
  {@const menu_item_id = menu_items_id_prefix + index}
206
- {@const active = focused_index == index ? 'bg-gray-200 dark:bg-gray-600' : ''}
207
+ {@const active = focused_index == index ? 'bg-stone-200 dark:bg-stone-600' : ''}
207
208
  {@const has_submenu = operation.menu !== undefined && operation.menu.length > 0}
208
209
 
209
210
  <button class="font-medium m-0 p-2 text-lg sm:text-sm w-full text-left flex flex-row cursor-context-menu {active} focus:outline-none"
@@ -224,12 +225,12 @@ function hide_submenu() {
224
225
  <p>{operation.caption}</p>
225
226
  {#if operation.description}
226
227
  {@const shortcut_width_px = operation.shortcut ? 80 : 0}
227
- <p class="text-sm font-normal text-slate-900 dark:text-gray-500 truncate inline-block"
228
+ <p class="text-sm font-normal text-stone-900 dark:text-stone-500 truncate inline-block"
228
229
  style:max-width={`calc(${width_px-shortcut_width_px} - 3rem)`} >{operation.description}</p>
229
230
  {/if}
230
231
  </div>
231
232
  {#if has_submenu}
232
- <p class="ms-auto pr-1 text-sm font-mono text-gray-500">&rarr;</p>
233
+ <p class="ms-auto pr-1 text-sm font-mono text-stone-500">&rarr;</p>
233
234
  <svelte:self bind:this={submenus[index]} menu_items_id_prefix={`${menu_item_id}_`} owner_menu_item={menu_items[index]}/>
234
235
  {/if}
235
236
  </button>
@@ -1,13 +1,13 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- width_px?: number | undefined;
4
+ widthPx?: number | undefined;
5
5
  menu_items_id_prefix?: string | undefined;
6
6
  owner_menu_item?: HTMLElement | undefined;
7
7
  show?: ((around: DOMRect | DOMPoint, _operations: any) => Promise<void>) | undefined;
8
- is_visible?: (() => boolean) | undefined;
8
+ isVisible?: (() => boolean) | undefined;
9
9
  hide?: (() => void) | undefined;
10
- get_rendered_rect?: (() => DOMRect | undefined) | undefined;
10
+ getRenderedRect?: (() => DOMRect | undefined) | undefined;
11
11
  };
12
12
  events: {
13
13
  [evt: string]: CustomEvent<any>;
@@ -19,8 +19,8 @@ export type ContextmenuEvents = typeof __propDef.events;
19
19
  export type ContextmenuSlots = typeof __propDef.slots;
20
20
  export default class Contextmenu extends SvelteComponentTyped<ContextmenuProps, ContextmenuEvents, ContextmenuSlots> {
21
21
  get show(): (around: DOMRect | DOMPoint, _operations: any) => Promise<void>;
22
- get is_visible(): () => boolean;
22
+ get isVisible(): () => boolean;
23
23
  get hide(): () => void;
24
- get get_rendered_rect(): () => DOMRect | undefined;
24
+ get getRenderedRect(): () => DOMRect | undefined;
25
25
  }
26
26
  export {};