1.4.1 โ€ข Published 5 months ago

@feelinglovelynow/toast v1.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

๐Ÿ•‰ @feelinglovelynow/toast

๐Ÿ’Ž Install

pnpm add @feelinglovelynow/toast

๐Ÿค“ Unit Tests

Statements

๐Ÿ™ Description

  • Show a closeable success or info toast notification
  • Toast closes by default after 9 seconds but this is alterable with the ms option
  • Toast function returns the dom id for the toast and a removeToast() function
  • @returns { { id: string, removeToast: () => void } }
  • Toast id can locate the toast and the close button on the toast
  • <div id="${ id }" class="fln__toast fln__toast--${ type }">
  • <button id="${ id }__close" class="fln__toast__close">
  • showToast() recieves a string or an array of items
    • IF string => toast shows as a <span>
    • ELSE IF array.length is 1 => toast shows as a <span>
    • ELSE => toast shows as an unordered list
  • Includes lovely multiple toast showing animations for sliding / fading in and sliding / fading away

๐Ÿ’š Properties

import { showToast } from '@feelinglovelynow/toast'

showToast (type: 'info' | 'success', items: string | string[], ms = 9000): () => void

๐Ÿ’› Add wrapper to DOM

<div id="fln__toast-wrapper"></div>

๐Ÿงก Add imports

import '@feelinglovelynow/toast/index.css'
import { showToast } from '@feelinglovelynow/toast'

โค๏ธ Example: Show info toast

const { id, removeToast } = showToast('info', 'Foo')

๐Ÿ’Ÿ Example: Show success toast

  • With 2 items that will show as an unordered list in the array order
  • 2nd item has an html link
  • Auto close in 6 seconds
showToast('success', [ 'Foo', '<a href="/">Bar</a>' ], 6000)

๐ŸŒŸ Prerequisite CSS

Requires @feelinglovelynow/global-style or add this css to your site

@keyframes fln__fade-in-from-above {
  0% {
    opacity: 0;
    transform: translateY(-9rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fln__fade-out-and-slide-up {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-9rem);
  }
}

html { /* Helps w/ rem, can still look good w/o just set rem/px as desired: https://stackoverflow.com/questions/59920538  */
  font-size: 62.5%;
}

โœจ Add custom styling

#fln__toast-wrapper {

}

.fln__toast {
  &.fln__toast--hide {

  }
  &.fln__toast--info {

    .fln__toast__icon-wrapper {

      .fln__toast__icon {

      }
    }
  }
  &.fln__toast--success {

    .fln__toast__icon-wrapper {

      .fln__toast__icon {

      }
    }
  }

  &__icon-wrapper {

  }

  &__icon {

  }

  ul {

  }

  li {

  }

  span {

  }

  &__close {
    &:hover {

    }

    svg {

    }
  }
}

๐ŸŽ All Our Packages

  1. @feelinglovelynow/datetime-local: NPM โ‹… Github
  2. @feelinglovelynow/dgraph: NPM โ‹… Github
  3. @feelinglovelynow/env-write: NPM โ‹… Github
  4. @feelinglovelynow/get-form-entries: NPM โ‹… Github
  5. @feelinglovelynow/get-relative-time: NPM โ‹… Github
  6. @feelinglovelynow/global-style: NPM โ‹… Github
  7. @feelinglovelynow/jwt: NPM โ‹… Github
  8. @feelinglovelynow/loop-backwards: NPM โ‹… Github
  9. @feelinglovelynow/slug: NPM โ‹… Github
  10. @feelinglovelynow/svelte-catch: NPM โ‹… Github
  11. @feelinglovelynow/svelte-kv: NPM โ‹… Github
  12. @feelinglovelynow/svelte-loading-anchor: NPM โ‹… Github
  13. @feelinglovelynow/svelte-modal: NPM โ‹… Github
  14. @feelinglovelynow/svelte-turnstile: NPM โ‹… Github
  15. @feelinglovelynow/toast: NPM โ‹… Github
1.4.1

5 months ago

1.4.0

5 months ago

1.3.1

6 months ago

1.3.0

6 months ago

1.2.0

6 months ago

1.1.3

6 months ago

1.1.2

6 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.0.1

6 months ago

1.0.0

7 months ago