From a640703f2da8815dc26ad1600a6f206be1624379 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Wed, 1 Jun 2022 22:10:32 +0200 Subject: feat: Initial after clean slate --- apps/web-shared/src/components/alert.svelte | 66 + apps/web-shared/src/components/button.svelte | 116 ++ apps/web-shared/src/components/chip.svelte | 50 + apps/web-shared/src/components/details.svelte | 35 + apps/web-shared/src/components/dropdown.svelte | 374 +++++ apps/web-shared/src/components/form/index.ts | 5 + .../web-shared/src/components/form/textarea.svelte | 48 + apps/web-shared/src/components/icon.svelte | 87 + apps/web-shared/src/components/menu/index.ts | 9 + apps/web-shared/src/components/menu/item.svelte | 8 + apps/web-shared/src/components/menu/menu.svelte | 54 + .../src/components/menu/separator.svelte | 2 + apps/web-shared/src/components/modal.svelte | 66 + apps/web-shared/src/components/pre-header.svelte | 37 + apps/web-shared/src/components/stopwatch.svelte | 161 ++ apps/web-shared/src/components/table/index.ts | 15 + .../src/components/table/paginator.svelte | 101 ++ apps/web-shared/src/components/table/table.svelte | 3 + apps/web-shared/src/components/table/tbody.svelte | 3 + apps/web-shared/src/components/table/tcell.svelte | 23 + apps/web-shared/src/components/table/thead.svelte | 10 + apps/web-shared/src/components/table/trow.svelte | 6 + apps/web-shared/src/components/tile.svelte | 4 + apps/web-shared/src/lib/api/internal-fetch.ts | 170 ++ apps/web-shared/src/lib/api/root.ts | 6 + apps/web-shared/src/lib/api/time-entry.ts | 86 + apps/web-shared/src/lib/api/user.ts | 47 + apps/web-shared/src/lib/colors.ts | 47 + apps/web-shared/src/lib/configuration.ts | 60 + apps/web-shared/src/lib/helpers.ts | 489 ++++++ .../src/lib/models/CreateAccountPayload.ts | 4 + apps/web-shared/src/lib/models/ErrorResult.ts | 4 + .../src/lib/models/IInternalFetchRequest.ts | 6 + .../src/lib/models/IInternalFetchResponse.ts | 6 + apps/web-shared/src/lib/models/ISession.ts | 7 + .../web-shared/src/lib/models/IValidationResult.ts | 31 + apps/web-shared/src/lib/models/LoginPayload.ts | 4 + apps/web-shared/src/lib/models/TimeCategoryDto.ts | 9 + apps/web-shared/src/lib/models/TimeEntryDto.ts | 13 + apps/web-shared/src/lib/models/TimeEntryQuery.ts | 27 + apps/web-shared/src/lib/models/TimeLabelDto.ts | 8 + apps/web-shared/src/lib/models/TimeQueryDto.ts | 29 + .../src/lib/models/UnwrappedEntryDateTime.ts | 9 + .../src/lib/models/UpdateProfilePayload.ts | 4 + apps/web-shared/src/lib/persistent-store.ts | 102 ++ apps/web-shared/src/lib/session.ts | 62 + apps/web-shared/src/styles/_base.scss | 48 + .../web-shared/src/styles/base/_accessibility.scss | 17 + apps/web-shared/src/styles/base/_breakpoints.scss | 15 + apps/web-shared/src/styles/base/_buttons.scss | 24 + apps/web-shared/src/styles/base/_colors.scss | 6 + apps/web-shared/src/styles/base/_forms.scss | 22 + apps/web-shared/src/styles/base/_grid-layout.scss | 261 +++ apps/web-shared/src/styles/base/_icons.scss | 62 + apps/web-shared/src/styles/base/_mixins.scss | 151 ++ apps/web-shared/src/styles/base/_reset.scss | 83 + .../web-shared/src/styles/base/_shared-styles.scss | 34 + apps/web-shared/src/styles/base/_spacing.scss | 20 + apps/web-shared/src/styles/base/_typography.scss | 185 +++ apps/web-shared/src/styles/base/_util.scss | 1738 ++++++++++++++++++++ apps/web-shared/src/styles/base/_visibility.scss | 23 + apps/web-shared/src/styles/base/_z-index.scss | 6 + apps/web-shared/src/styles/components/alert.scss | 69 + .../src/styles/components/autocomplete.scss | 76 + .../src/styles/components/btn-states.scss | 51 + apps/web-shared/src/styles/components/chip.scss | 117 ++ .../src/styles/components/circle-loader.scss | 315 ++++ .../src/styles/components/custom-checkbox.scss | 131 ++ .../src/styles/components/custom-select.scss | 158 ++ apps/web-shared/src/styles/components/details.scss | 57 + .../web-shared/src/styles/components/dropdown.scss | 98 ++ .../src/styles/components/form-validator.scss | 18 + .../src/styles/components/interactive-table.scss | 156 ++ apps/web-shared/src/styles/components/list.scss | 195 +++ .../web-shared/src/styles/components/menu-bar.scss | 139 ++ apps/web-shared/src/styles/components/menu.scss | 81 + apps/web-shared/src/styles/components/modal.scss | 105 ++ .../src/styles/components/pagination.scss | 77 + apps/web-shared/src/styles/components/popover.scss | 38 + .../src/styles/components/pre-header.scss | 46 + .../src/styles/components/radios-checkboxes.scss | 134 ++ .../src/styles/components/select-autocomplete.scss | 173 ++ .../src/styles/components/tabbed-navigation.scss | 133 ++ apps/web-shared/src/styles/components/table.scss | 147 ++ .../src/styles/components/user-menu.scss | 81 + .../src/styles/custom-style/_buttons.scss | 111 ++ .../src/styles/custom-style/_colors.scss | 119 ++ .../web-shared/src/styles/custom-style/_forms.scss | 56 + .../web-shared/src/styles/custom-style/_icons.scss | 19 + .../src/styles/custom-style/_shared-styles.scss | 59 + .../src/styles/custom-style/_spacing.scss | 49 + .../src/styles/custom-style/_typography.scss | 92 ++ apps/web-shared/src/styles/custom-style/_util.scss | 41 + 93 files changed, 8349 insertions(+) create mode 100644 apps/web-shared/src/components/alert.svelte create mode 100644 apps/web-shared/src/components/button.svelte create mode 100644 apps/web-shared/src/components/chip.svelte create mode 100644 apps/web-shared/src/components/details.svelte create mode 100644 apps/web-shared/src/components/dropdown.svelte create mode 100644 apps/web-shared/src/components/form/index.ts create mode 100644 apps/web-shared/src/components/form/textarea.svelte create mode 100644 apps/web-shared/src/components/icon.svelte create mode 100644 apps/web-shared/src/components/menu/index.ts create mode 100644 apps/web-shared/src/components/menu/item.svelte create mode 100644 apps/web-shared/src/components/menu/menu.svelte create mode 100644 apps/web-shared/src/components/menu/separator.svelte create mode 100644 apps/web-shared/src/components/modal.svelte create mode 100644 apps/web-shared/src/components/pre-header.svelte create mode 100644 apps/web-shared/src/components/stopwatch.svelte create mode 100644 apps/web-shared/src/components/table/index.ts create mode 100644 apps/web-shared/src/components/table/paginator.svelte create mode 100644 apps/web-shared/src/components/table/table.svelte create mode 100644 apps/web-shared/src/components/table/tbody.svelte create mode 100644 apps/web-shared/src/components/table/tcell.svelte create mode 100644 apps/web-shared/src/components/table/thead.svelte create mode 100644 apps/web-shared/src/components/table/trow.svelte create mode 100644 apps/web-shared/src/components/tile.svelte create mode 100644 apps/web-shared/src/lib/api/internal-fetch.ts create mode 100644 apps/web-shared/src/lib/api/root.ts create mode 100644 apps/web-shared/src/lib/api/time-entry.ts create mode 100644 apps/web-shared/src/lib/api/user.ts create mode 100644 apps/web-shared/src/lib/colors.ts create mode 100644 apps/web-shared/src/lib/configuration.ts create mode 100644 apps/web-shared/src/lib/helpers.ts create mode 100644 apps/web-shared/src/lib/models/CreateAccountPayload.ts create mode 100644 apps/web-shared/src/lib/models/ErrorResult.ts create mode 100644 apps/web-shared/src/lib/models/IInternalFetchRequest.ts create mode 100644 apps/web-shared/src/lib/models/IInternalFetchResponse.ts create mode 100644 apps/web-shared/src/lib/models/ISession.ts create mode 100644 apps/web-shared/src/lib/models/IValidationResult.ts create mode 100644 apps/web-shared/src/lib/models/LoginPayload.ts create mode 100644 apps/web-shared/src/lib/models/TimeCategoryDto.ts create mode 100644 apps/web-shared/src/lib/models/TimeEntryDto.ts create mode 100644 apps/web-shared/src/lib/models/TimeEntryQuery.ts create mode 100644 apps/web-shared/src/lib/models/TimeLabelDto.ts create mode 100644 apps/web-shared/src/lib/models/TimeQueryDto.ts create mode 100644 apps/web-shared/src/lib/models/UnwrappedEntryDateTime.ts create mode 100644 apps/web-shared/src/lib/models/UpdateProfilePayload.ts create mode 100644 apps/web-shared/src/lib/persistent-store.ts create mode 100644 apps/web-shared/src/lib/session.ts create mode 100644 apps/web-shared/src/styles/_base.scss create mode 100644 apps/web-shared/src/styles/base/_accessibility.scss create mode 100644 apps/web-shared/src/styles/base/_breakpoints.scss create mode 100644 apps/web-shared/src/styles/base/_buttons.scss create mode 100644 apps/web-shared/src/styles/base/_colors.scss create mode 100644 apps/web-shared/src/styles/base/_forms.scss create mode 100644 apps/web-shared/src/styles/base/_grid-layout.scss create mode 100644 apps/web-shared/src/styles/base/_icons.scss create mode 100644 apps/web-shared/src/styles/base/_mixins.scss create mode 100644 apps/web-shared/src/styles/base/_reset.scss create mode 100644 apps/web-shared/src/styles/base/_shared-styles.scss create mode 100644 apps/web-shared/src/styles/base/_spacing.scss create mode 100644 apps/web-shared/src/styles/base/_typography.scss create mode 100644 apps/web-shared/src/styles/base/_util.scss create mode 100644 apps/web-shared/src/styles/base/_visibility.scss create mode 100644 apps/web-shared/src/styles/base/_z-index.scss create mode 100644 apps/web-shared/src/styles/components/alert.scss create mode 100644 apps/web-shared/src/styles/components/autocomplete.scss create mode 100644 apps/web-shared/src/styles/components/btn-states.scss create mode 100644 apps/web-shared/src/styles/components/chip.scss create mode 100644 apps/web-shared/src/styles/components/circle-loader.scss create mode 100644 apps/web-shared/src/styles/components/custom-checkbox.scss create mode 100644 apps/web-shared/src/styles/components/custom-select.scss create mode 100644 apps/web-shared/src/styles/components/details.scss create mode 100644 apps/web-shared/src/styles/components/dropdown.scss create mode 100644 apps/web-shared/src/styles/components/form-validator.scss create mode 100644 apps/web-shared/src/styles/components/interactive-table.scss create mode 100644 apps/web-shared/src/styles/components/list.scss create mode 100644 apps/web-shared/src/styles/components/menu-bar.scss create mode 100644 apps/web-shared/src/styles/components/menu.scss create mode 100644 apps/web-shared/src/styles/components/modal.scss create mode 100644 apps/web-shared/src/styles/components/pagination.scss create mode 100644 apps/web-shared/src/styles/components/popover.scss create mode 100644 apps/web-shared/src/styles/components/pre-header.scss create mode 100644 apps/web-shared/src/styles/components/radios-checkboxes.scss create mode 100644 apps/web-shared/src/styles/components/select-autocomplete.scss create mode 100644 apps/web-shared/src/styles/components/tabbed-navigation.scss create mode 100644 apps/web-shared/src/styles/components/table.scss create mode 100644 apps/web-shared/src/styles/components/user-menu.scss create mode 100644 apps/web-shared/src/styles/custom-style/_buttons.scss create mode 100644 apps/web-shared/src/styles/custom-style/_colors.scss create mode 100644 apps/web-shared/src/styles/custom-style/_forms.scss create mode 100644 apps/web-shared/src/styles/custom-style/_icons.scss create mode 100644 apps/web-shared/src/styles/custom-style/_shared-styles.scss create mode 100644 apps/web-shared/src/styles/custom-style/_spacing.scss create mode 100644 apps/web-shared/src/styles/custom-style/_typography.scss create mode 100644 apps/web-shared/src/styles/custom-style/_util.scss (limited to 'apps/web-shared/src') diff --git a/apps/web-shared/src/components/alert.svelte b/apps/web-shared/src/components/alert.svelte new file mode 100644 index 0000000..4771f78 --- /dev/null +++ b/apps/web-shared/src/components/alert.svelte @@ -0,0 +1,66 @@ + + + diff --git a/apps/web-shared/src/components/button.svelte b/apps/web-shared/src/components/button.svelte new file mode 100644 index 0000000..5eaf19f --- /dev/null +++ b/apps/web-shared/src/components/button.svelte @@ -0,0 +1,116 @@ + + + diff --git a/apps/web-shared/src/components/chip.svelte b/apps/web-shared/src/components/chip.svelte new file mode 100644 index 0000000..7fbb445 --- /dev/null +++ b/apps/web-shared/src/components/chip.svelte @@ -0,0 +1,50 @@ + + +
+ {text} + + {#if removable} +
diff --git a/apps/web-shared/src/components/details.svelte b/apps/web-shared/src/components/details.svelte new file mode 100644 index 0000000..6ccacb0 --- /dev/null +++ b/apps/web-shared/src/components/details.svelte @@ -0,0 +1,35 @@ + + +
+ + + + {summary} + + +
+ +
+
diff --git a/apps/web-shared/src/components/dropdown.svelte b/apps/web-shared/src/components/dropdown.svelte new file mode 100644 index 0000000..b5068a7 --- /dev/null +++ b/apps/web-shared/src/components/dropdown.svelte @@ -0,0 +1,374 @@ + + + + +{#if label} + +{/if} + +
+ +
+ {#if multiple === true && hasSelection} + {#each entries.filter((c) => c.selected === true) as entry} + methods.deselect_entry(entry.id)} + text={entry.name}/> + {/each} + {/if} + search.do()} + on:click={() => (showDropdown = true)} + on:focus={() => (showDropdown = true)} + on:blur={search.on_input_focusout} + autocomplete="off" + /> +
+ + + Open selection + + + + + +
+
+ + {#if errorText} + {errorText} + {/if} + + +
+
    event.code.startsWith("Arrow") && event.preventDefault()} + tabindex="-1" + class="autocomplete__list"> + {#if searchResults.length > 0} + {#each searchResults.filter((c) => !c.selected) as result} +
  • methods.select_entry(e.target.dataset.id)} + tabindex="-1"> + {@html highlight(result, (open = ''), (close = ""))} +
  • + {/each} + {:else if entries.length > 0} + {#each entries.filter((c) => !c.selected) as entry} +
  • methods.select_entry(e.target.dataset.id)} + tabindex="-1"> + {entry.name} +
  • + {/each} + {:else} +
  • + {noResultsText} +
  • + {/if} +
+ {#if showCreationHint} +
+
+ {/if} +
+
diff --git a/apps/web-shared/src/components/form/index.ts b/apps/web-shared/src/components/form/index.ts new file mode 100644 index 0000000..08769bd --- /dev/null +++ b/apps/web-shared/src/components/form/index.ts @@ -0,0 +1,5 @@ +import Textarea from "./textarea.svelte"; + +export { + Textarea +}; diff --git a/apps/web-shared/src/components/form/textarea.svelte b/apps/web-shared/src/components/form/textarea.svelte new file mode 100644 index 0000000..b313d2e --- /dev/null +++ b/apps/web-shared/src/components/form/textarea.svelte @@ -0,0 +1,48 @@ + + +{#if label} + +{/if} + +{#if errorText} + {errorText} +{/if} diff --git a/apps/web-shared/src/components/icon.svelte b/apps/web-shared/src/components/icon.svelte new file mode 100644 index 0000000..144b45d --- /dev/null +++ b/apps/web-shared/src/components/icon.svelte @@ -0,0 +1,87 @@ + + + + {@html displayIcon.svg} + diff --git a/apps/web-shared/src/components/menu/index.ts b/apps/web-shared/src/components/menu/index.ts new file mode 100644 index 0000000..8eb7938 --- /dev/null +++ b/apps/web-shared/src/components/menu/index.ts @@ -0,0 +1,9 @@ +import Menu from "./menu.svelte"; +import MenuItem from "./item.svelte"; +import MenuItemSeparator from "./separator.svelte"; + +export { + Menu, + MenuItem, + MenuItemSeparator +}; diff --git a/apps/web-shared/src/components/menu/item.svelte b/apps/web-shared/src/components/menu/item.svelte new file mode 100644 index 0000000..aeb0f99 --- /dev/null +++ b/apps/web-shared/src/components/menu/item.svelte @@ -0,0 +1,8 @@ + +
  • + + + +
  • diff --git a/apps/web-shared/src/components/menu/menu.svelte b/apps/web-shared/src/components/menu/menu.svelte new file mode 100644 index 0000000..33b1160 --- /dev/null +++ b/apps/web-shared/src/components/menu/menu.svelte @@ -0,0 +1,54 @@ + + + + + + + diff --git a/apps/web-shared/src/components/menu/separator.svelte b/apps/web-shared/src/components/menu/separator.svelte new file mode 100644 index 0000000..798dce0 --- /dev/null +++ b/apps/web-shared/src/components/menu/separator.svelte @@ -0,0 +1,2 @@ + diff --git a/apps/web-shared/src/components/modal.svelte b/apps/web-shared/src/components/modal.svelte new file mode 100644 index 0000000..f3b633c --- /dev/null +++ b/apps/web-shared/src/components/modal.svelte @@ -0,0 +1,66 @@ + + + diff --git a/apps/web-shared/src/components/pre-header.svelte b/apps/web-shared/src/components/pre-header.svelte new file mode 100644 index 0000000..87a19b1 --- /dev/null +++ b/apps/web-shared/src/components/pre-header.svelte @@ -0,0 +1,37 @@ + + +
    +
    +
    +

    + +

    +
    + {#if closable} + + {/if} +
    +
    diff --git a/apps/web-shared/src/components/stopwatch.svelte b/apps/web-shared/src/components/stopwatch.svelte new file mode 100644 index 0000000..8287e31 --- /dev/null +++ b/apps/web-shared/src/components/stopwatch.svelte @@ -0,0 +1,161 @@ + + +
    +
    + +
    {timeString}
    +
    +
    +
    +
    +