@humandialog/forms.svelte 1.7.4 → 1.7.5

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.
@@ -2,6 +2,7 @@
2
2
  import {location, link, querystring} from 'svelte-spa-router'
3
3
  import {randomString, isDeviceSmallerThan} from '../utils'
4
4
  import { ext } from '../i18n.js';
5
+ import { afterUpdate } from 'svelte';
5
6
 
6
7
  export let path;
7
8
  export let collapseLonger = false
@@ -42,15 +43,60 @@
42
43
  return idx < entriesNo-maxEntriesNo
43
44
  }
44
45
 
46
+ let scrollableElement
47
+ /*let isScrolling = false
48
+ let startScrollLeft = 0
49
+ let startDragX = 0
50
+ let startDragY = 0
51
+ function mouseDown(e)
52
+ {
53
+
54
+ isScrolling = true
55
+ startDragX = e.offsetX
56
+ startDragY = e.offsetY
57
+ startScrollLeft = scrollableElement.scrollLeft
58
+ }
59
+
60
+ function mouseMove(e)
61
+ {
62
+ if(isScrolling)
63
+ {
64
+ const deltaX = startDragX - e.offsetX
65
+ //console.log('mouseMove', deltaX)
66
+
67
+ scrollableElement.scrollLeft = startScrollLeft + deltaX
68
+ }
69
+ }
70
+
71
+ function mouseUp(e)
72
+ {
73
+ console.log('mouseUp', e)
74
+ isScrolling = false
75
+ startDragX = 0
76
+ startDragY = 0
77
+ startScrollLeft = 0
78
+ }
79
+ */
80
+
81
+ let pathElements = []
82
+ afterUpdate( () =>
83
+ {
84
+ const elementsNo = pathElements.length
85
+ if(elementsNo > 0)
86
+ {
87
+ const lastElement = pathElements[elementsNo-1]
88
+ lastElement.scrollIntoView({ container: "nearest"})
89
+ }
90
+ })
91
+
45
92
  </script>
46
93
 
47
- <nav class="flex {userClass}" aria-label="Breadcrumb">
48
- <ol class="inline-flex items-center space-x-1 md:space-x-2 rtl:space-x-reverse flex-wrap">
94
+ <nav class="{userClass} w-full sm:w-fit sm:max-w-full overflow-x-auto sm:overflow-x-hidden" aria-label="Breadcrumb">
95
+ <ol class="flex items-center space-x-1 md:space-x-2 rtl:space-x-reverse flex-nowrap min-h-[1.25rem]" bind:this={scrollableElement}>
49
96
 
50
- {#if (segments && segments.length > 1)}
97
+ {#if (segments && segments.length > 0)}
51
98
  {#each segments as segment, idx (segment.uniqueKey)}
52
99
  {@const isFirst = idx == 0}
53
- {@const isLast = idx == segments.length-1}
54
100
  {@const isCollapsed = shouldBeCollapsed(idx)}
55
101
  {@const isFirstCollapsed = isCollapsed && idx == 0}
56
102
 
@@ -64,28 +110,27 @@
64
110
  </span>
65
111
  {/if}
66
112
  {:else}
67
- <li>
113
+ <li bind:this={pathElements[idx]}>
68
114
  <div class="flex items-center">
69
115
  {#if !isFirst}
70
- <svg class="rtl:rotate-180 w-3 h-3 text-stone-400 mx-1" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10">
116
+ <!--svg class="rtl:rotate-180 w-3 h-3 text-stone-400 mx-1" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 6 10">
71
117
  <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m1 9 4-4-4-4"/>
72
- </svg>
118
+ </svg-->
119
+ <span class="text-sm font-medium text-stone-700 dark:text-stone-400 ">
120
+ /
121
+ </span>
73
122
  {/if}
74
- {#if isLast}
75
- <span class="ms-1 text-sm md:ms-2 font-semibold text-stone-900 dark:text-stone-100 whitespace-nowrap">
123
+
124
+ {#if segment.href}
125
+ <a href={segment.href} use:link class="ms-1 text-sm font-medium md:ms-2 text-stone-700 hover:text-stone-900 dark:text-stone-400 dark:hover:text-white whitespace-nowrap">
76
126
  {ext(segment.name)}
77
- </span>
127
+ </a>
78
128
  {:else}
79
- {#if segment.href}
80
- <a href={segment.href} use:link class="ms-1 text-sm font-medium md:ms-2 text-stone-700 hover:text-stone-900 dark:text-stone-400 dark:hover:text-white whitespace-nowrap">
81
- {ext(segment.name)}
82
- </a>
83
- {:else}
84
- <span class="ms-1 text-sm font-medium md:ms-2 text-stone-700 dark:text-stone-400 whitespace-nowrap">
85
- {ext(segment.name)}
86
- </span>
87
- {/if}
129
+ <span class="ms-1 text-sm font-medium md:ms-2 text-stone-700 dark:text-stone-400 whitespace-nowrap">
130
+ {ext(segment.name)}
131
+ </span>
88
132
  {/if}
133
+
89
134
  </div>
90
135
  </li>
91
136
  {/if}
package/index.d.ts CHANGED
@@ -60,7 +60,7 @@ export { KanbanColumnTop, KanbanColumnBottom } from './components/kanban/Kanban'
60
60
  export { default as Paginator } from './components/paginator.svelte';
61
61
  export { default as Breadcrumb } from './components/breadcrumb.svelte';
62
62
  export { breadcrumbAdd, breadcrumbParse, breadcrumbStringify, breadcrumbClipName } from './components/breadcrumb_utils';
63
- 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, } from './utils';
63
+ 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 } from './utils';
64
64
  export { getNiceStringDateTime, getFormattedStringDate, getNiceStringDate, dayName, monthName } from './components/date_utils';
65
65
  export { mainContentPageReloader, reloadMainContentPage, reloadWholeApp, wholeAppReloader, alerts, addAlert, onErrorShowAlert, main_sidebar_visible_store, navKey, tagsReloader, reloadVisibleTags, dark_mode_store, showFABAlways } from './stores.js';
66
66
  export { data_tick_store, // tmp
package/index.js CHANGED
@@ -66,7 +66,7 @@ export { KanbanColumnTop, KanbanColumnBottom } from './components/kanban/Kanban'
66
66
  export { default as Paginator } from './components/paginator.svelte';
67
67
  export { default as Breadcrumb } from './components/breadcrumb.svelte';
68
68
  export { breadcrumbAdd, breadcrumbParse, breadcrumbStringify, breadcrumbClipName } from './components/breadcrumb_utils';
69
- 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, } from './utils';
69
+ 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 } from './utils';
70
70
  export { getNiceStringDateTime, getFormattedStringDate, getNiceStringDate, dayName, monthName } from './components/date_utils';
71
71
  export { mainContentPageReloader, reloadMainContentPage, reloadWholeApp, wholeAppReloader, alerts, addAlert, onErrorShowAlert, main_sidebar_visible_store, navKey, tagsReloader, reloadVisibleTags, dark_mode_store, showFABAlways } from './stores.js';
72
72
  export { data_tick_store, // tmp
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@humandialog/forms.svelte",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "Basic Svelte UI components for Object Reef applications",
5
5
  "devDependencies": {
6
6
  "@playwright/test": "^1.28.1",