@humandialog/forms.svelte 1.7.27 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/components/Fab.25.svelte +473 -0
  2. package/components/Fab.25.svelte.d.ts +18 -0
  3. package/components/Fab.svelte +51 -170
  4. package/components/Floating_container.25.svelte +178 -0
  5. package/components/Floating_container.25.svelte.d.ts +23 -0
  6. package/components/Floating_container.svelte +18 -6
  7. package/components/Grid.menu.svelte +15 -16
  8. package/components/Grid.menu.svelte.d.ts +2 -2
  9. package/components/breadcrumb.svelte +27 -27
  10. package/components/checkbox.svelte +1 -1
  11. package/components/combo/combo.svelte +60 -79
  12. package/components/combo/combo.svelte.d.ts +1 -0
  13. package/components/contextmenu-25.svelte +518 -0
  14. package/components/contextmenu-25.svelte.d.ts +26 -0
  15. package/components/contextmenu.svelte +179 -65
  16. package/components/contextmenu.svelte.d.ts +2 -2
  17. package/components/date.svelte +42 -21
  18. package/components/date.svelte.d.ts +1 -0
  19. package/components/delayed.spinner.svelte +2 -1
  20. package/components/document/editor.svelte +21 -31
  21. package/components/document/editor.svelte.d.ts +0 -2
  22. package/components/document/internal/palette.row.svelte +10 -8
  23. package/components/document/internal/palette.svelte +7 -8
  24. package/components/document/rich.edit.svelte +10 -10
  25. package/components/edit.field.svelte +1 -1
  26. package/components/input.text.svelte.d.ts +2 -2
  27. package/components/inputbox.ltop.svelte +1 -1
  28. package/components/inputbox.ltop.svelte.d.ts +12 -12
  29. package/components/kanban/internal/kanban.card.svelte +27 -47
  30. package/components/kanban/internal/kanban.column.svelte +44 -24
  31. package/components/kanban/internal/kanban.inserter.svelte +11 -14
  32. package/components/kanban/internal/kanban.move.menu.svelte +12 -12
  33. package/components/kanban/internal/kanban.props.svelte +24 -9
  34. package/components/kanban/kanban.svelte +24 -77
  35. package/components/kanban/kanban.svelte.d.ts +2 -0
  36. package/components/kanban copy.zip +0 -0
  37. package/components/list/List.d.ts +1 -0
  38. package/components/list/List.js +1 -0
  39. package/components/list/internal/list.element copy.svelte +530 -0
  40. package/components/list/internal/list.element copy.svelte.d.ts +35 -0
  41. package/components/list/internal/list.element.svelte +308 -268
  42. package/components/list/internal/list.element.svelte.d.ts +5 -7
  43. package/components/list/internal/list.inserter.svelte +38 -6
  44. package/components/list/internal/note.txt +5 -0
  45. package/components/list/list.svelte +32 -11
  46. package/components/list/list.svelte.d.ts +5 -3
  47. package/components/list/list.title.svelte +2 -0
  48. package/components/list/list.title.svelte.d.ts +1 -0
  49. package/components/menu.d.ts +1 -1
  50. package/components/menu.js +3 -3
  51. package/components/paginator.svelte +79 -9
  52. package/components/prose.editable.p.svelte.d.ts +2 -2
  53. package/components/prose.editable.span.svelte.d.ts +2 -2
  54. package/components/r.edit.svelte +9 -0
  55. package/components/r.edit.svelte.d.ts +23 -0
  56. package/components/r.editable.svelte +74 -0
  57. package/components/r.editable.svelte.d.ts +31 -0
  58. package/components/r.figcaption.svelte +5 -0
  59. package/components/r.figcaption.svelte.d.ts +27 -0
  60. package/components/r.figure.svelte +25 -0
  61. package/components/r.figure.svelte.d.ts +29 -0
  62. package/components/r.icon.svelte +229 -0
  63. package/components/r.icon.svelte.d.ts +33 -0
  64. package/components/radio.svelte +1 -1
  65. package/components/ricons/arrow-up.svelte +11 -0
  66. package/components/ricons/arrow-up.svelte.d.ts +27 -0
  67. package/components/ricons/barcode.svelte +14 -0
  68. package/components/ricons/barcode.svelte.d.ts +27 -0
  69. package/components/ricons/bold.svelte +10 -0
  70. package/components/ricons/bold.svelte.d.ts +27 -0
  71. package/components/ricons/calendar.svelte +13 -0
  72. package/components/ricons/calendar.svelte.d.ts +27 -0
  73. package/components/ricons/calendars.svelte +16 -0
  74. package/components/ricons/calendars.svelte.d.ts +27 -0
  75. package/components/ricons/cat.svelte +14 -0
  76. package/components/ricons/cat.svelte.d.ts +27 -0
  77. package/components/ricons/check-check.svelte +12 -0
  78. package/components/ricons/check-check.svelte.d.ts +27 -0
  79. package/components/ricons/check.svelte +18 -0
  80. package/components/ricons/check.svelte.d.ts +27 -0
  81. package/components/ricons/chess-rook.svelte +17 -0
  82. package/components/ricons/chess-rook.svelte.d.ts +27 -0
  83. package/components/ricons/chevron-down.svelte +11 -0
  84. package/components/ricons/chevron-down.svelte.d.ts +27 -0
  85. package/components/ricons/chevron-left.svelte +11 -0
  86. package/components/ricons/chevron-left.svelte.d.ts +27 -0
  87. package/components/ricons/chevron-right.svelte +11 -0
  88. package/components/ricons/chevron-right.svelte.d.ts +27 -0
  89. package/components/ricons/chevron-up.svelte +11 -0
  90. package/components/ricons/chevron-up.svelte.d.ts +27 -0
  91. package/components/ricons/chevrons-down.svelte +12 -0
  92. package/components/ricons/chevrons-down.svelte.d.ts +27 -0
  93. package/components/ricons/chevrons-left-right.svelte +12 -0
  94. package/components/ricons/chevrons-left-right.svelte.d.ts +27 -0
  95. package/components/ricons/chevrons-left.svelte +12 -0
  96. package/components/ricons/chevrons-left.svelte.d.ts +27 -0
  97. package/components/ricons/chevrons-right.svelte +12 -0
  98. package/components/ricons/chevrons-right.svelte.d.ts +27 -0
  99. package/components/ricons/chevrons-up-down.svelte +12 -0
  100. package/components/ricons/chevrons-up-down.svelte.d.ts +27 -0
  101. package/components/ricons/chevrons-up.svelte +12 -0
  102. package/components/ricons/chevrons-up.svelte.d.ts +27 -0
  103. package/components/ricons/circle-check.svelte +28 -0
  104. package/components/ricons/circle-check.svelte.d.ts +23 -0
  105. package/components/ricons/circle-dashed.svelte +19 -0
  106. package/components/ricons/circle-dashed.svelte.d.ts +27 -0
  107. package/components/ricons/circle-dot-dashed.svelte +20 -0
  108. package/components/ricons/circle-dot-dashed.svelte.d.ts +27 -0
  109. package/components/ricons/circle.svelte +30 -0
  110. package/components/ricons/circle.svelte.d.ts +23 -0
  111. package/components/ricons/clipboard-list.svelte +17 -0
  112. package/components/ricons/clipboard-list.svelte.d.ts +27 -0
  113. package/components/ricons/clipboard-minus.svelte +9 -0
  114. package/components/ricons/clipboard-minus.svelte.d.ts +23 -0
  115. package/components/ricons/clipboard-pen-line.svelte +18 -0
  116. package/components/ricons/clipboard-pen-line.svelte.d.ts +27 -0
  117. package/components/ricons/code-xml.svelte +12 -0
  118. package/components/ricons/code-xml.svelte.d.ts +27 -0
  119. package/components/ricons/download.svelte +13 -0
  120. package/components/ricons/download.svelte.d.ts +27 -0
  121. package/components/ricons/ellipsis-vertical.svelte +14 -0
  122. package/components/ricons/ellipsis-vertical.svelte.d.ts +27 -0
  123. package/components/ricons/file-archive.svelte +18 -0
  124. package/components/ricons/file-archive.svelte.d.ts +27 -0
  125. package/components/ricons/file-text.svelte +17 -0
  126. package/components/ricons/file-text.svelte.d.ts +27 -0
  127. package/components/ricons/folder.svelte +12 -0
  128. package/components/ricons/folder.svelte.d.ts +27 -0
  129. package/components/ricons/heading-1.svelte +13 -0
  130. package/components/ricons/heading-1.svelte.d.ts +27 -0
  131. package/components/ricons/heading-2.svelte +13 -0
  132. package/components/ricons/heading-2.svelte.d.ts +27 -0
  133. package/components/ricons/heading-3.svelte +14 -0
  134. package/components/ricons/heading-3.svelte.d.ts +27 -0
  135. package/components/ricons/heading-4.svelte +14 -0
  136. package/components/ricons/heading-4.svelte.d.ts +27 -0
  137. package/components/ricons/heading-5.svelte +14 -0
  138. package/components/ricons/heading-5.svelte.d.ts +27 -0
  139. package/components/ricons/image.svelte +12 -0
  140. package/components/ricons/image.svelte.d.ts +27 -0
  141. package/components/ricons/italic.svelte +12 -0
  142. package/components/ricons/italic.svelte.d.ts +27 -0
  143. package/components/ricons/languages.svelte +15 -0
  144. package/components/ricons/languages.svelte.d.ts +27 -0
  145. package/components/ricons/list-checks.svelte +15 -0
  146. package/components/ricons/list-checks.svelte.d.ts +27 -0
  147. package/components/ricons/list-minus.svelte +14 -0
  148. package/components/ricons/list-minus.svelte.d.ts +27 -0
  149. package/components/ricons/list-ordered.svelte +16 -0
  150. package/components/ricons/list-ordered.svelte.d.ts +27 -0
  151. package/components/ricons/list-plus.svelte +14 -0
  152. package/components/ricons/list-plus.svelte.d.ts +27 -0
  153. package/components/ricons/list.svelte +15 -0
  154. package/components/ricons/list.svelte.d.ts +27 -0
  155. package/components/ricons/loader-circle.svelte +19 -0
  156. package/components/ricons/loader-circle.svelte.d.ts +27 -0
  157. package/components/ricons/log-in.svelte +12 -0
  158. package/components/ricons/log-in.svelte.d.ts +27 -0
  159. package/components/ricons/log-out.svelte +12 -0
  160. package/components/ricons/log-out.svelte.d.ts +27 -0
  161. package/components/ricons/message-square.svelte +12 -0
  162. package/components/ricons/message-square.svelte.d.ts +27 -0
  163. package/components/ricons/messages-square.svelte +15 -0
  164. package/components/ricons/messages-square.svelte.d.ts +27 -0
  165. package/components/ricons/minus.svelte +10 -0
  166. package/components/ricons/minus.svelte.d.ts +27 -0
  167. package/components/ricons/notebook-tabs.svelte +19 -0
  168. package/components/ricons/notebook-tabs.svelte.d.ts +27 -0
  169. package/components/ricons/notebook.svelte +16 -0
  170. package/components/ricons/notebook.svelte.d.ts +27 -0
  171. package/components/ricons/package.svelte +22 -0
  172. package/components/ricons/package.svelte.d.ts +27 -0
  173. package/components/ricons/paperclip.svelte +12 -0
  174. package/components/ricons/paperclip.svelte.d.ts +27 -0
  175. package/components/ricons/pencil.svelte +12 -0
  176. package/components/ricons/pencil.svelte.d.ts +27 -0
  177. package/components/ricons/pilcrow.svelte +12 -0
  178. package/components/ricons/pilcrow.svelte.d.ts +27 -0
  179. package/components/ricons/save.svelte +12 -0
  180. package/components/ricons/save.svelte.d.ts +27 -0
  181. package/components/ricons/square-check-big.svelte +13 -0
  182. package/components/ricons/square-check-big.svelte.d.ts +27 -0
  183. package/components/ricons/square-pen.svelte +14 -0
  184. package/components/ricons/square-pen.svelte.d.ts +27 -0
  185. package/components/ricons/square.svelte +10 -0
  186. package/components/ricons/square.svelte.d.ts +27 -0
  187. package/components/ricons/strikethrough.svelte +13 -0
  188. package/components/ricons/strikethrough.svelte.d.ts +27 -0
  189. package/components/ricons/sun-moon.svelte +15 -0
  190. package/components/ricons/sun-moon.svelte.d.ts +27 -0
  191. package/components/ricons/table.svelte +13 -0
  192. package/components/ricons/table.svelte.d.ts +27 -0
  193. package/components/ricons/tag.svelte +12 -0
  194. package/components/ricons/tag.svelte.d.ts +27 -0
  195. package/components/ricons/text-quote.svelte +14 -0
  196. package/components/ricons/text-quote.svelte.d.ts +27 -0
  197. package/components/ricons/turtle.svelte +13 -0
  198. package/components/ricons/turtle.svelte.d.ts +27 -0
  199. package/components/ricons/underline.svelte +11 -0
  200. package/components/ricons/underline.svelte.d.ts +27 -0
  201. package/components/ricons/upload.svelte +13 -0
  202. package/components/ricons/upload.svelte.d.ts +27 -0
  203. package/components/ricons/user.svelte +12 -0
  204. package/components/ricons/user.svelte.d.ts +27 -0
  205. package/components/ricons/users.svelte +14 -0
  206. package/components/ricons/users.svelte.d.ts +27 -0
  207. package/components/ricons/x.svelte +11 -0
  208. package/components/ricons/x.svelte.d.ts +27 -0
  209. package/components/sidebar/sidebar.brand.svelte +14 -13
  210. package/components/sidebar/sidebar.brand.svelte.d.ts +2 -2
  211. package/components/sidebar/sidebar.group.svelte +52 -30
  212. package/components/sidebar/sidebar.item.svelte +35 -141
  213. package/components/sidebar/sidebar.item.svelte.d.ts +2 -5
  214. package/components/sidebar/sidebar.list.svelte +8 -8
  215. package/components/sidebar/sidebar.svelte +19 -2
  216. package/components/simple.table.svelte.d.ts +4 -4
  217. package/components/table/_template.table.svelte.d.ts +4 -4
  218. package/components/tags.svelte +10 -3
  219. package/components/tags.svelte.d.ts +1 -0
  220. package/components/textarea.ltop.svelte.d.ts +2 -2
  221. package/components/tile.title.svelte.d.ts +2 -2
  222. package/desk.svelte +122 -128
  223. package/dialog.svelte +17 -7
  224. package/form.box.svelte.d.ts +4 -4
  225. package/horizontal.nav.tabs.svelte +197 -23
  226. package/horizontal.nav.tabs.svelte.d.ts +2 -2
  227. package/horizontal.toolbar.svelte +25 -18
  228. package/horizontal.toolbar.svelte.d.ts +2 -2
  229. package/index.d.ts +10 -3
  230. package/index.js +10 -3
  231. package/operations.svelte +51 -22
  232. package/package.json +89 -1
  233. package/page.row.svelte.d.ts +2 -2
  234. package/page.svelte +17 -7
  235. package/page.svelte.d.ts +10 -10
  236. package/paper.header.svelte +4 -0
  237. package/paper.header.svelte.d.ts +27 -0
  238. package/paper.nav.svelte +8 -0
  239. package/paper.nav.svelte.d.ts +27 -0
  240. package/paper.svelte +22 -6
  241. package/paper.svelte.d.ts +2 -0
  242. package/paper.table.svelte +27 -0
  243. package/paper.table.svelte.d.ts +27 -0
  244. package/paper.top.margin.svelte +5 -0
  245. package/paper.top.margin.svelte.d.ts +27 -0
  246. package/stores.d.ts +1 -1
  247. package/tenant.create.svelte +93 -0
  248. package/tenant.create.svelte.d.ts +29 -0
  249. package/tenant.members.svelte +116 -93
  250. package/tile.svelte.d.ts +4 -4
  251. package/tiles.row.svelte.d.ts +2 -2
  252. package/tiles.vertical.row.svelte.d.ts +2 -2
  253. package/updates.d.ts +4 -0
  254. package/updates.js +56 -14
  255. package/utils.d.ts +16 -4
  256. package/utils.js +214 -99
  257. package/vertical.toolbar.svelte +62 -47
  258. package/vertical.toolbar.svelte.d.ts +2 -2
package/dialog.svelte CHANGED
@@ -41,15 +41,25 @@ let close_callback = void 0;
41
41
  </script>
42
42
 
43
43
  {#if open}
44
- <div id="__hd_svelte_property_dialog_container"
44
+ <div id="__hd_svelte_property_dialog_container"
45
45
  visible={open}
46
46
  class="relative z-30" aria-labelledby="modal-title" role="dialog" aria-modal="true" bind:this={root}>
47
- <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>
48
-
47
+ <!--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-->
48
+
49
49
  <div class="fixed z-30 inset-0 w-screen overflow-y-auto overscroll-contain">
50
50
  <div class="flex min-h-full items-end justify-center p-1 text-center sm:items-center sm:p-0">
51
- <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
52
- sm:my-8 w-full sm:max-w-lg"> <!-- transform overflow-hidden -->
51
+ <div class=" p-0
52
+ sm:my-8 w-full sm:max-w-lg
53
+ bg-stone-100 dark:bg-stone-800
54
+ rounded-lg
55
+
56
+ sm:shadow-xl sm:shadow-slate-700/70
57
+ sm:dark:shadow-black/80
58
+ sm:outline sm:outline-1 sm:outline-stone-500
59
+
60
+
61
+ text-left transition-all
62
+ "> <!-- transform overflow-hidden -->
53
63
  <slot/>
54
64
  </div>
55
65
  </div>
@@ -57,9 +67,9 @@ let close_callback = void 0;
57
67
  </div>
58
68
  {/if}
59
69
 
60
- <!-- use usePreventScroll instead -->
70
+ <!-- use usePreventScroll instead -->
61
71
  <!--style>
62
- :global(body:has(#__hd_svelte_property_dialog_container[visible="true"]))
72
+ :global(body:has(#__hd_svelte_property_dialog_container[visible="true"]))
63
73
  {
64
74
  overflow: hidden;
65
75
  }
@@ -2,10 +2,10 @@
2
2
  /** @typedef {typeof __propDef.events} FormEvents */
3
3
  /** @typedef {typeof __propDef.slots} FormSlots */
4
4
  export default class Form extends SvelteComponentTyped<{
5
- self?: null | undefined;
6
5
  context?: string | undefined;
7
- c?: string | undefined;
6
+ self?: null | undefined;
8
7
  cl?: string | undefined;
8
+ c?: string | undefined;
9
9
  fit?: boolean | undefined;
10
10
  }, {
11
11
  [evt: string]: CustomEvent<any>;
@@ -19,10 +19,10 @@ export type FormSlots = typeof __propDef.slots;
19
19
  import { SvelteComponentTyped } from "svelte";
20
20
  declare const __propDef: {
21
21
  props: {
22
- self?: null | undefined;
23
22
  context?: string | undefined;
24
- c?: string | undefined;
23
+ self?: null | undefined;
25
24
  cl?: string | undefined;
25
+ c?: string | undefined;
26
26
  fit?: boolean | undefined;
27
27
  };
28
28
  events: {
@@ -1,38 +1,61 @@
1
1
  <script>
2
+ import {FaUsers, FaCog, FaToggleOn, FaToggleOff, FaSignInAlt, FaSignOutAlt, FaPlus, FaLanguage} from 'svelte-icons/fa/'
2
3
  import {contextItemsStore,
3
4
  context_info_store,
4
5
  contextToolbarOperations,
5
- data_tick_store,
6
- navKey
7
- } from "./stores.js";
6
+ data_tick_store, showFABAlways, leftHandedFAB,
7
+ navKey, tools_visible_store, bottom_bar_visible_store,
8
+ dark_mode_store, reloadWholeApp
9
+ } from "./stores.js";
8
10
  import Icon from './components/icon.svelte';
9
11
  import {session, signInHRef, signOutHRef} from '@humandialog/auth.svelte'
10
- import { navGetKey, navHide, navIsVisible, navShow, navToggle } from './utils';
11
-
12
+ import {push } from 'svelte-spa-router';
13
+ import { navGetKey, navHide, navIsVisible, navShow, navToggle, isDeviceSmallerThan } from './utils';
14
+ import {setCurrentLanguage, getLanguages, i18n, getCurrentLanguage} from './i18n.js'
15
+ import {showMenu, SHOW_MENU_RIGHT} from './components/menu'
16
+
12
17
  export let appConfig = undefined;
13
18
  export let clearsContext = 'sel props'
14
-
19
+
15
20
  export let definedTabs = undefined
16
21
  export let mainToolbarConfig = undefined
17
-
22
+
18
23
  let tabs = new Array();
19
24
  let config = null;
20
-
21
-
25
+ let has_selection_details = false;
26
+ let selection_detils_caption = i18n({en: 'Properties', es: 'Propiedades', pl: 'Właściwości'});
27
+
28
+ let show_sign_in_out_icons = false;
22
29
  let is_logged_in = false;
23
-
30
+ let sign_in_href = '';
31
+ let sign_out_href = '';
32
+
24
33
  $: {
25
34
  if(appConfig)
26
35
  {
27
36
  config = appConfig.mainToolbar;
37
+ has_selection_details = appConfig.selectionDetails;
38
+
39
+ if(has_selection_details)
40
+ {
41
+ if(appConfig.selectionDetails.captionFunc)
42
+ selection_detils_caption = appConfig.selectionDetails.captionFunc()
43
+ else if(appConfig.selectionDetails.caption)
44
+ selection_detils_caption = appConfig.selectionDetails.caption
45
+
46
+ }
28
47
  }
29
48
  else
30
49
  {
50
+ has_selection_details = false;
31
51
  config = mainToolbarConfig;
32
52
  }
33
53
 
34
54
  is_logged_in = $session.isActive;
35
-
55
+ show_sign_in_out_icons = config.signin ? true : false;
56
+ sign_in_href = $signInHRef;
57
+ sign_out_href = $signOutHRef;
58
+
36
59
  tabs = new Array();
37
60
 
38
61
  if(definedTabs && Array.isArray(definedTabs) && definedTabs.length > 0)
@@ -41,8 +64,8 @@
41
64
  }
42
65
  else
43
66
  {
44
- Object.keys(appConfig.sidebar).forEach( (key) =>
45
- {
67
+ Object.keys(appConfig.sidebar).forEach( (key) =>
68
+ {
46
69
  const ctab = appConfig.sidebar[key];
47
70
  const can_show = (ctab.authorized && is_logged_in) || (!ctab.authorized)
48
71
  if(can_show)
@@ -56,7 +79,7 @@
56
79
  badgeObtainer: ctab.badgeObtainer
57
80
  }
58
81
 
59
- tabs.push(tab);
82
+ tabs.push(tab);
60
83
  }
61
84
  });
62
85
 
@@ -77,10 +100,10 @@
77
100
 
78
101
  function on_navigator_tab_clicked(e, key)
79
102
  {
80
- e.stopPropagation();
103
+ e.stopPropagation();
81
104
  navToggle(key);
82
105
  }
83
-
106
+
84
107
 
85
108
  function clearSelection()
86
109
  {
@@ -117,7 +140,151 @@
117
140
  {
118
141
  tabs = [...tabs]
119
142
  }
120
-
143
+
144
+ function show_options(e)
145
+ {
146
+
147
+ let owner = e.target;
148
+ while(owner && owner.tagName != 'BUTTON')
149
+ owner = owner.parentElement
150
+
151
+ if(!owner)
152
+ return;
153
+
154
+ let rect = owner.getBoundingClientRect();
155
+ let options = [];
156
+
157
+ if(config.customOperations && Array.isArray(config.customOperations) && config.customOperations.length > 0)
158
+ {
159
+ config.customOperations.forEach( o => {
160
+ let add = true;
161
+ if(o.condition)
162
+ add = o.condition();
163
+
164
+ if(add)
165
+ {
166
+ let caption = ''
167
+ if(o.captionFunc)
168
+ caption = o.captionFunc()
169
+ else if(o.caption)
170
+ caption = o.caption
171
+
172
+ options.push({
173
+ caption: caption,
174
+ icon: o.icon,
175
+ mricon: o.mricon,
176
+ action: o.action,
177
+ menu: o.menu
178
+ })
179
+ }
180
+ })
181
+ }
182
+
183
+ if(show_sign_in_out_icons)
184
+ {
185
+ if(!is_logged_in)
186
+ {
187
+ options.push({
188
+ caption: i18n( { en: 'Sign in', es: 'Iniciar sesión', pl: 'Zaloguj'}),
189
+ icon: FaSignInAlt,
190
+ mricon: 'log-in',
191
+ action: (focused) => { push(sign_in_href) }
192
+ });
193
+ }
194
+ else
195
+ {
196
+ options.push({
197
+ caption: i18n({en: 'Sign out', es: 'Cerrar sesión', pl: 'Wyloguj' }) ,
198
+ icon: FaSignOutAlt,
199
+ mricon: 'log-out',
200
+ action: (focused) => { push(sign_out_href) }
201
+ });
202
+ }
203
+
204
+ options.push({separator: true})
205
+
206
+ }
207
+
208
+ if(!config || config.darkMode)
209
+ {
210
+ const capt = i18n({en: 'Dark mode', es: 'Modo oscuro', pl: 'Tryb ciemny'})
211
+ if($dark_mode_store == '')
212
+ {
213
+ options.push( {
214
+ caption: capt,
215
+ icon: FaToggleOff,
216
+ mricon: 'sun-moon',
217
+ action: (focused) => { $dark_mode_store = 'dark'; }
218
+ });
219
+ }
220
+ else
221
+ {
222
+ options.push( {
223
+ caption: capt,
224
+ icon: FaToggleOn,
225
+ mricon: 'sun-moon',
226
+ action: (focused) => { $dark_mode_store = ''; }
227
+ });
228
+ }
229
+ }
230
+
231
+ const langs = getLanguages()
232
+ if(langs && langs.length > 1)
233
+ {
234
+ const langMenu = langs.map( l => ({
235
+ caption: l.name,
236
+ img: l.flag,
237
+ action: (b) => {setCurrentLanguage(l); reloadWholeApp()},
238
+ disabled: getCurrentLanguage() == l
239
+ }))
240
+
241
+ options.push( {
242
+ caption: i18n({en: 'Language', es:'Idioma', pl:'Język'}),
243
+ menu: langMenu,
244
+ mricon: 'languages',
245
+ icon: FaLanguage
246
+ })
247
+ }
248
+
249
+ if(config && config.operations)
250
+ {
251
+ options.push( {
252
+ caption: i18n({en:'Toolbar', es:'Barra de herramientas', pl:'Pasek narzędzi'}),
253
+ icon: $tools_visible_store ? FaToggleOn : FaToggleOff,
254
+ action: (focused) => { $tools_visible_store = !$tools_visible_store; }
255
+ });
256
+ }
257
+
258
+ if(!isDeviceSmallerThan("sm"))
259
+ {
260
+ options.push({
261
+ caption: i18n({en: 'Floating buttons', es: 'Botones flotantes', pl: 'Pływające przyciski'}),
262
+ icon: $showFABAlways ? FaToggleOn : FaToggleOff,
263
+ action: (f) => { $showFABAlways = !$showFABAlways; }
264
+ })
265
+
266
+ options.push({
267
+ caption: i18n({en: 'Left-handed mode', es: 'Modo para zurdos', pl: 'Tryb dla leworęcznych'}),
268
+ icon: $leftHandedFAB ? FaToggleOn : FaToggleOff,
269
+ disabled: !$showFABAlways,
270
+ action: (f) => { $leftHandedFAB = !$leftHandedFAB; }
271
+ })
272
+ }
273
+
274
+ if(has_selection_details)
275
+ {
276
+ options.push( {
277
+ caption: selection_detils_caption,
278
+ icon: $bottom_bar_visible_store ? FaToggleOn : FaToggleOff,
279
+ action: (focused) => { $bottom_bar_visible_store = !$bottom_bar_visible_store }
280
+ });
281
+ }
282
+
283
+ //let anchor = new DOMPoint(rect.right, rect.top)
284
+ showMenu(rect, options, SHOW_MENU_RIGHT);
285
+ }
286
+
287
+
121
288
  </script>
122
289
 
123
290
  <!-- svelte-ignore a11y-click-events-have-key-events -->
@@ -127,11 +294,11 @@
127
294
  {#each tabs as tab}
128
295
  {@const isSelected = $navKey == tab.key}
129
296
  <button
130
- class="w-16 h-full flex justify-center items-center text-stone-300 hover:text-stone-100 relative"
297
+ class="w-16 h-full flex justify-center items-center relative"
131
298
  class:bg-orange-500={isSelected}
132
299
  on:click={tab.onclick}
133
300
  use:mountNavigator={tab}>
134
-
301
+
135
302
  <Icon s="xl" component={tab.icon}/>
136
303
 
137
304
  {#if !isSelected}
@@ -147,9 +314,9 @@
147
314
  {:else if tab.badgeObtainerAsync}
148
315
  {#await tab.badgeObtainerAsync() then badge}
149
316
  {#if badge > 0}
150
- <div class="absolute
151
- inline-flex items-center justify-center
152
- w-5 h-5
317
+ <div class="absolute
318
+ inline-flex items-center justify-center
319
+ w-5 h-5
153
320
  text-[10px] font-bold text-white bg-red-500 border-2 border-white rounded-full bottom-2 end-0 dark:border-gray-900">
154
321
  {#if badge > 9}
155
322
  9+
@@ -164,9 +331,16 @@
164
331
 
165
332
  </button>
166
333
  {/each}
334
+
335
+ <button
336
+ class="w-16 h-full flex justify-center items-center"
337
+ on:click|stopPropagation={show_options}>
338
+ <Icon s="xl" component={FaCog} />
339
+ </button>
340
+
167
341
  </div>
168
342
 
169
-
343
+
170
344
  </section>
171
345
 
172
346
  <!--Menu bind:this={menu}/-->
@@ -2,8 +2,8 @@
2
2
  /** @typedef {typeof __propDef.events} HorizontalEvents */
3
3
  /** @typedef {typeof __propDef.slots} HorizontalSlots */
4
4
  export default class Horizontal extends SvelteComponentTyped<{
5
- appConfig?: any;
6
5
  clearsContext?: string | undefined;
6
+ appConfig?: any;
7
7
  definedTabs?: any;
8
8
  mainToolbarConfig?: any;
9
9
  }, {
@@ -16,8 +16,8 @@ export type HorizontalSlots = typeof __propDef.slots;
16
16
  import { SvelteComponentTyped } from "svelte";
17
17
  declare const __propDef: {
18
18
  props: {
19
- appConfig?: any;
20
19
  clearsContext?: string | undefined;
20
+ appConfig?: any;
21
21
  definedTabs?: any;
22
22
  mainToolbarConfig?: any;
23
23
  };
@@ -27,11 +27,11 @@
27
27
 
28
28
  export let definedTabs = undefined
29
29
  export let mainToolbarConfig = undefined
30
-
30
+
31
31
  let config = null;
32
32
  let has_selection_details = false;
33
33
  let selection_details_caption = i18n({en: 'Properties', es: 'Propiedades', pl: 'Właściwości'});
34
-
34
+
35
35
  let show_sign_in_out_icons = false;
36
36
  let is_logged_in = false;
37
37
  let sign_in_href = '';
@@ -70,14 +70,14 @@
70
70
 
71
71
  if(definedTabs && Array.isArray(definedTabs) && definedTabs.length > 0)
72
72
  {
73
-
73
+
74
74
  }
75
75
  else
76
76
  {
77
77
  tabs = Object.keys(appConfig.sidebar);
78
78
  if(tabs.length > 1)
79
79
  icon = FaBars;
80
- else
80
+ else
81
81
  {
82
82
  let first_tab = appConfig.sidebar[tabs[0]];
83
83
  icon = first_tab.icon;
@@ -116,7 +116,7 @@
116
116
  let navKey = navPrevVisibleKey()
117
117
  if(!navKey)
118
118
  navKey = Object.keys(appConfig.sidebar)[0]
119
-
119
+
120
120
  navShow(navKey);
121
121
  }
122
122
  else
@@ -154,6 +154,7 @@
154
154
  options.push({
155
155
  caption: caption,
156
156
  icon: o.icon,
157
+ mricon: o.mricon,
157
158
  action: o.action
158
159
  })
159
160
  }
@@ -167,6 +168,7 @@
167
168
  options.push({
168
169
  caption: i18n( { en: 'Sign in', es: 'Iniciar sesión', pl: 'Zaloguj'}),
169
170
  icon: FaSignInAlt,
171
+ mricon: 'log-in',
170
172
  action: (focused) => { push(sign_in_href) }
171
173
  });
172
174
  }
@@ -175,12 +177,13 @@
175
177
  options.push({
176
178
  caption: i18n({en: 'Sign out', es: 'Cerrar sesión', pl: 'Wyloguj' }) ,
177
179
  icon: FaSignOutAlt,
180
+ mricon: 'log-out',
178
181
  action: (focused) => { push(sign_out_href) }
179
182
  });
180
183
  }
181
184
 
182
185
  options.push({separator: true})
183
-
186
+
184
187
  }
185
188
 
186
189
  if(!config || config.darkMode)
@@ -191,6 +194,7 @@
191
194
  options.push( {
192
195
  caption: capt,
193
196
  icon: FaToggleOff,
197
+ mricon: 'sun-moon',
194
198
  action: (focused) => { $dark_mode_store = 'dark'; }
195
199
  });
196
200
  }
@@ -199,6 +203,7 @@
199
203
  options.push( {
200
204
  caption: capt,
201
205
  icon: FaToggleOn,
206
+ mricon: 'sun-moon',
202
207
  action: (focused) => { $dark_mode_store = ''; }
203
208
  });
204
209
  }
@@ -217,7 +222,8 @@
217
222
  options.push( {
218
223
  caption: i18n({en: 'Language', es:'Idioma', pl:'Język'}),
219
224
  menu: langMenu,
220
- icon: FaLanguage
225
+ icon: FaLanguage,
226
+ mricon: 'languages',
221
227
  })
222
228
  }
223
229
 
@@ -244,9 +250,9 @@
244
250
  action: (focused) => { $bottom_bar_visible_store = !$bottom_bar_visible_store }
245
251
  });
246
252
  }
247
-
253
+
248
254
  let pt = new DOMPoint(rect.left, rect.bottom)
249
- showMenu(pt, options);
255
+ showMenu(pt, options);
250
256
  }
251
257
 
252
258
  function show_groups(e)
@@ -274,9 +280,9 @@
274
280
  })
275
281
  )
276
282
 
277
-
283
+
278
284
  let pt = new DOMPoint(rect.left, rect.bottom)
279
- showMenu(pt, options);
285
+ showMenu(pt, options);
280
286
  }
281
287
 
282
288
  function clearSelection()
@@ -299,26 +305,27 @@
299
305
 
300
306
  <!-- svelte-ignore a11y-click-events-have-key-events -->
301
307
  <div class="no-print flex flex-row w-full" on:click={clearSelection}>
308
+ <p>toolbar</p>
302
309
  <div class="flex-none left-0 flex h-12 sm:h-10">
303
310
  {#if definedTabs && definedTabs.length > 0}
304
311
  {#each definedTabs as tab}
305
312
  <button class="w-12 sm:w-10 h-full flex justify-center items-center text-stone-300 hover:text-stone-100" on:click={tab.onclick}>
306
- <Icon s="xl" component={tab.icon}/>
307
- </button>
313
+ <Icon s="s" component={tab.icon}/>
314
+ </button>
308
315
  {/each}
309
316
  {:else}
310
317
  <button class="w-12 sm:w-10 h-full flex justify-center items-center text-stone-300 hover:text-stone-100" on:click|stopPropagation={toggle_navigator}>
311
- <Icon s="xl" component={icon}/>
318
+ <Icon s="s" component={icon}/>
312
319
  </button>
313
320
  {/if}
314
321
  </div>
315
322
 
316
323
  <div class="grow">
317
-
324
+
318
325
  <div class="block sm:hidden mt-4 sm:mt-3 uppercase text-sm text-center">{@html title}</div>
319
326
  </div>
320
327
 
321
- <div class="flex-none ml-auto flex h-12 sm:h-10">
328
+ <div class="flex-none ml-auto flex h-12 sm:h-10">
322
329
  {#if user_is_in_multiple_groups}
323
330
  <button class="h-full w-12 sm:w-10 px-0 flex justify-center items-center text-stone-300 hover:text-stone-100"
324
331
  on:click|stopPropagation={show_groups}>
@@ -340,8 +347,8 @@
340
347
  <div class="no-print flex-none block fixed left-0 top-[40px] w-[40px] h-screen z-20 inset-0 overflow-hidden">
341
348
  <div class="sticky top-0 flex h-full w-10 bg-stone-900 flex-col items-center text-stone-100 shadow">
342
349
  <VerticalToolbar {appConfig} mobile={true}/>
343
- </div>
344
- </div>
350
+ </div>
351
+ </div>
345
352
  {/if}
346
353
 
347
354
  <!--Menu bind:this={menu}/-->
@@ -2,8 +2,8 @@
2
2
  /** @typedef {typeof __propDef.events} HorizontalEvents */
3
3
  /** @typedef {typeof __propDef.slots} HorizontalSlots */
4
4
  export default class Horizontal extends SvelteComponentTyped<{
5
- appConfig?: any;
6
5
  clearsContext?: string | undefined;
6
+ appConfig?: any;
7
7
  definedTabs?: any;
8
8
  mainToolbarConfig?: any;
9
9
  }, {
@@ -16,8 +16,8 @@ export type HorizontalSlots = typeof __propDef.slots;
16
16
  import { SvelteComponentTyped } from "svelte";
17
17
  declare const __propDef: {
18
18
  props: {
19
- appConfig?: any;
20
19
  clearsContext?: string | undefined;
20
+ appConfig?: any;
21
21
  definedTabs?: any;
22
22
  mainToolbarConfig?: any;
23
23
  };
package/index.d.ts CHANGED
@@ -4,15 +4,22 @@ export { default as Row } from "./tiles.row.svelte";
4
4
  export { default as Box } from "./form.box.svelte";
5
5
  export { default as Operations } from './operations.svelte';
6
6
  export { default as Paper } from './paper.svelte';
7
+ export { default as PaperNav } from './paper.nav.svelte';
8
+ export { default as PaperTable } from './paper.table.svelte';
9
+ export { default as PaperTopMargin } from './paper.top.margin.svelte';
10
+ export { default as PaperHeader } from './paper.header.svelte';
7
11
  export { default as Layout } from './desk.svelte';
8
12
  export { default as VerticalToolbar } from './vertical.toolbar.svelte';
9
13
  export { default as HorizontalToolbar } from './horizontal.toolbar.svelte';
10
14
  export { default as Icon } from "./components/icon.svelte";
11
15
  export { default as IconT } from "./components/icon.ex.svelte";
16
+ export { default as Ricon } from "./components/r.icon.svelte";
17
+ export { default as REdit } from "./components/r.edit.svelte";
18
+ export { default as Editable } from "./components/r.editable.svelte";
12
19
  export { default as Button } from './components/button.svelte';
13
20
  export { default as Checkbox } from './components/checkbox.svelte';
14
21
  export { default as DatePicker } from './components/date.svelte';
15
- export { default as Edit } from './components/edit.field.svelte';
22
+ export { default as FieldEdit } from './components/edit.field.svelte';
16
23
  export { default as FileLoader } from './components/file.loader.svelte';
17
24
  export { default as Input } from './components/inputbox.ltop.svelte';
18
25
  export { default as Radio } from './components/radio.svelte';
@@ -64,13 +71,13 @@ export { default as Breadcrumb } from './components/breadcrumb.svelte';
64
71
  export { breadcrumbAdd, breadcrumbParse, breadcrumbStringify, breadcrumbClipName } from './components/breadcrumb_utils';
65
72
  export { default as EditableSpan } from './components/prose.editable.span.svelte';
66
73
  export { default as EditableParagraph } from './components/prose.editable.p.svelte';
67
- export { selectItem, activateItem, clearActiveItem, isActive, isSelected, getActive, getActiveItems, getActiveCount, addActiveItem, removeActiveItem, editable, startEditing, saveCurrentEditable, selectable, handleSelect, isDeviceSmallerThan, resizeImage, refreshToolbarOperations, reloadPageToolbarOperations, isOnScreenKeyboardVisible, randomString, UI, NAV_MODE_SIDEBAR, NAV_MODE_FULL_PAGE, navGetMode, navIsVisible, navGetKey, navShow, navHide, navToggle, navPrevVisibleKey, navAutoHide, insertAt, insertAfter, getPrev, getNext, getFirst, getLast, removeAt, remove, swapElements, setSelectionAtEnd, isValidEmail, localStorageSave, localStorageRead, sessionStorageSave, sessionStorageRead, hasLocalStorage } from './utils';
74
+ export { selectItem, activateItem, clearActiveItem, isActive, isSelected, getActive, getActiveItems, getActiveCount, addActiveItem, removeActiveItem, editable, startEditing, saveCurrentEditable, focusEditable, selectable, handleSelect, isDeviceSmallerThan, resizeImage, refreshToolbarOperations, reloadPageToolbarOperations, isOnScreenKeyboardVisible, randomString, UI, NAV_MODE_SIDEBAR, NAV_MODE_FULL_PAGE, navGetMode, navIsVisible, navGetKey, navShow, navHide, navToggle, navPrevVisibleKey, navAutoHide, insertAt, insertAfter, getPrev, getNext, getFirst, getLast, removeAt, remove, swapElements, setSelectionAtEnd, isValidEmail, localStorageSave, localStorageRead, sessionStorageSave, sessionStorageRead, hasLocalStorage, getCurrentGroupName, getGroupsMenu } from './utils';
68
75
  export { getNiceStringDateTime, getFormattedStringDate, getNiceStringDate, dayName, monthName } from './components/date_utils';
69
76
  export { mainContentPageReloader, reloadMainContentPage, reloadWholeApp, wholeAppReloader, alerts, addAlert, onErrorShowAlert, main_sidebar_visible_store, navKey, tagsReloader, reloadVisibleTags, dark_mode_store, showFABAlways } from './stores.js';
70
77
  export { data_tick_store, // tmp
71
78
  hasSelectedItem, hasDataItem, setNavigatorTitle } from "./stores";
72
79
  export { contextToolbarOperations, pageToolbarOperations, contextItemsStore, contextTypesStore } from './stores';
73
- export { informModification, informModificationEx, informItem, pushChanges, hasModifications } from './updates';
80
+ export { informModification, setjItemProperty, informModificationEx, informItem, pushChanges, hasModifications } from './updates';
74
81
  export { default as IcH1 } from './components/document/internal/h1.icon.svelte';
75
82
  export { default as IcH2 } from './components/document/internal/h2.icon.svelte';
76
83
  export { default as IcH3 } from './components/document/internal/h3.icon.svelte';
package/index.js CHANGED
@@ -8,16 +8,23 @@ export { default as Box } from "./form.box.svelte";
8
8
  //export { default as TilesVerticalRow } from "./tiles.vertical.row.svelte";
9
9
  export { default as Operations } from './operations.svelte';
10
10
  export { default as Paper } from './paper.svelte';
11
+ export { default as PaperNav } from './paper.nav.svelte';
12
+ export { default as PaperTable } from './paper.table.svelte';
13
+ export { default as PaperTopMargin } from './paper.top.margin.svelte';
14
+ export { default as PaperHeader } from './paper.header.svelte';
11
15
  export { default as Layout } from './desk.svelte';
12
16
  export { default as VerticalToolbar } from './vertical.toolbar.svelte';
13
17
  export { default as HorizontalToolbar } from './horizontal.toolbar.svelte';
14
18
  // @ts-ignore
15
19
  export { default as Icon } from "./components/icon.svelte";
16
20
  export { default as IconT } from "./components/icon.ex.svelte";
21
+ export { default as Ricon } from "./components/r.icon.svelte";
22
+ export { default as REdit } from "./components/r.edit.svelte";
23
+ export { default as Editable } from "./components/r.editable.svelte";
17
24
  export { default as Button } from './components/button.svelte';
18
25
  export { default as Checkbox } from './components/checkbox.svelte';
19
26
  export { default as DatePicker } from './components/date.svelte';
20
- export { default as Edit } from './components/edit.field.svelte';
27
+ export { default as FieldEdit } from './components/edit.field.svelte';
21
28
  export { default as FileLoader } from './components/file.loader.svelte';
22
29
  export { default as Input } from './components/inputbox.ltop.svelte';
23
30
  export { default as Radio } from './components/radio.svelte';
@@ -70,13 +77,13 @@ export { default as Breadcrumb } from './components/breadcrumb.svelte';
70
77
  export { breadcrumbAdd, breadcrumbParse, breadcrumbStringify, breadcrumbClipName } from './components/breadcrumb_utils';
71
78
  export { default as EditableSpan } from './components/prose.editable.span.svelte';
72
79
  export { default as EditableParagraph } from './components/prose.editable.p.svelte';
73
- export { selectItem, activateItem, clearActiveItem, isActive, isSelected, getActive, getActiveItems, getActiveCount, addActiveItem, removeActiveItem, editable, startEditing, saveCurrentEditable, selectable, handleSelect, isDeviceSmallerThan, resizeImage, refreshToolbarOperations, reloadPageToolbarOperations, isOnScreenKeyboardVisible, randomString, UI, NAV_MODE_SIDEBAR, NAV_MODE_FULL_PAGE, navGetMode, navIsVisible, navGetKey, navShow, navHide, navToggle, navPrevVisibleKey, navAutoHide, insertAt, insertAfter, getPrev, getNext, getFirst, getLast, removeAt, remove, swapElements, setSelectionAtEnd, isValidEmail, localStorageSave, localStorageRead, sessionStorageSave, sessionStorageRead, hasLocalStorage } from './utils';
80
+ export { selectItem, activateItem, clearActiveItem, isActive, isSelected, getActive, getActiveItems, getActiveCount, addActiveItem, removeActiveItem, editable, startEditing, saveCurrentEditable, focusEditable, selectable, handleSelect, isDeviceSmallerThan, resizeImage, refreshToolbarOperations, reloadPageToolbarOperations, isOnScreenKeyboardVisible, randomString, UI, NAV_MODE_SIDEBAR, NAV_MODE_FULL_PAGE, navGetMode, navIsVisible, navGetKey, navShow, navHide, navToggle, navPrevVisibleKey, navAutoHide, insertAt, insertAfter, getPrev, getNext, getFirst, getLast, removeAt, remove, swapElements, setSelectionAtEnd, isValidEmail, localStorageSave, localStorageRead, sessionStorageSave, sessionStorageRead, hasLocalStorage, getCurrentGroupName, getGroupsMenu } from './utils';
74
81
  export { getNiceStringDateTime, getFormattedStringDate, getNiceStringDate, dayName, monthName } from './components/date_utils';
75
82
  export { mainContentPageReloader, reloadMainContentPage, reloadWholeApp, wholeAppReloader, alerts, addAlert, onErrorShowAlert, main_sidebar_visible_store, navKey, tagsReloader, reloadVisibleTags, dark_mode_store, showFABAlways } from './stores.js';
76
83
  export { data_tick_store, // tmp
77
84
  hasSelectedItem, hasDataItem, setNavigatorTitle } from "./stores";
78
85
  export { contextToolbarOperations, pageToolbarOperations, contextItemsStore, contextTypesStore } from './stores'; // tmp
79
- export { informModification, informModificationEx, informItem, pushChanges, hasModifications } from './updates'; // tmp
86
+ export { informModification, setjItemProperty, informModificationEx, informItem, pushChanges, hasModifications } from './updates'; // tmp
80
87
  export { default as IcH1 } from './components/document/internal/h1.icon.svelte';
81
88
  export { default as IcH2 } from './components/document/internal/h2.icon.svelte';
82
89
  export { default as IcH3 } from './components/document/internal/h3.icon.svelte';