lapikit 0.1.1 → 0.1.3

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 (34) hide show
  1. package/dist/assets/icons/loading-fill.svelte +29 -0
  2. package/dist/assets/icons/loading-fill.svelte.d.ts +26 -0
  3. package/dist/components/button/button.css +44 -8
  4. package/dist/components/button/button.svelte +14 -1
  5. package/dist/components/button/types.d.ts +3 -0
  6. package/dist/components/dropdown/dropdown.css +22 -0
  7. package/dist/components/dropdown/dropdown.svelte +116 -0
  8. package/dist/components/dropdown/dropdown.svelte.d.ts +4 -0
  9. package/dist/components/dropdown/dropdown.svelte.js +148 -0
  10. package/dist/components/dropdown/types.d.ts +26 -0
  11. package/dist/components/dropdown/types.js +1 -0
  12. package/dist/components/icon/icon.css +76 -0
  13. package/dist/components/icon/icon.svelte +49 -0
  14. package/dist/components/icon/icon.svelte.d.ts +4 -0
  15. package/dist/components/icon/types.d.ts +16 -0
  16. package/dist/components/icon/types.js +1 -0
  17. package/dist/components/index.d.ts +4 -0
  18. package/dist/components/index.js +4 -0
  19. package/dist/components/popover/popover.css +22 -0
  20. package/dist/components/popover/popover.svelte +73 -0
  21. package/dist/components/popover/popover.svelte.d.ts +4 -0
  22. package/dist/components/popover/popover.svelte.js +134 -0
  23. package/dist/components/popover/types.d.ts +20 -0
  24. package/dist/components/popover/types.js +1 -0
  25. package/dist/components/tooltip/tooltip.css +124 -0
  26. package/dist/components/tooltip/tooltip.svelte +113 -0
  27. package/dist/components/tooltip/tooltip.svelte.d.ts +4 -0
  28. package/dist/components/tooltip/tooltip.svelte.js +131 -0
  29. package/dist/components/tooltip/types.d.ts +23 -0
  30. package/dist/components/tooltip/types.js +1 -0
  31. package/dist/internal/clickOutside.d.ts +9 -0
  32. package/dist/internal/clickOutside.js +34 -0
  33. package/dist/style/animation.css +9 -0
  34. package/package.json +1 -1
@@ -0,0 +1,23 @@
1
+ import type { Component } from '../../internal/types.js';
2
+ import type { Snippet } from 'svelte';
3
+ export interface TooltipProps extends Component {
4
+ open?: boolean;
5
+ dark?: boolean;
6
+ light?: boolean;
7
+ rounded?: string;
8
+ label?: string;
9
+ location?: 'top' | 'bottom' | 'left' | 'right';
10
+ color?: string;
11
+ background?: string;
12
+ delayDuration?: number;
13
+ variant?: 'arrow';
14
+ density?: 'compact' | 'comfortable' | 'default';
15
+ disabled?: boolean;
16
+ avoidCollisions?: boolean;
17
+ tooltip?: Snippet;
18
+ }
19
+ export type PositionElement = {
20
+ x: number;
21
+ y: number;
22
+ location: string | null;
23
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ type ClickOutsideOptions = {
2
+ exclude?: (HTMLElement | PointerEvent | null)[];
3
+ onClose: () => void;
4
+ };
5
+ export declare function clickOutside(node: HTMLElement, options: ClickOutsideOptions): {
6
+ update(newOptions: ClickOutsideOptions): void;
7
+ destroy(): void;
8
+ };
9
+ export {};
@@ -0,0 +1,34 @@
1
+ export function clickOutside(node, options) {
2
+ let { exclude = [], onClose } = options;
3
+ function isTargetExcluded(target) {
4
+ return exclude.some((ex) => {
5
+ if (!ex)
6
+ return false;
7
+ if (ex instanceof HTMLElement) {
8
+ return ex.contains(target);
9
+ }
10
+ if (ex instanceof PointerEvent && ex.target instanceof Node) {
11
+ return ex.target.contains(target);
12
+ }
13
+ return false;
14
+ });
15
+ }
16
+ const handleClick = (event) => {
17
+ const target = event.target;
18
+ const isExcluded = isTargetExcluded(target);
19
+ const isInside = node.contains(target);
20
+ if (!isInside && !isExcluded) {
21
+ onClose();
22
+ }
23
+ };
24
+ document.addEventListener('click', handleClick, true);
25
+ return {
26
+ update(newOptions) {
27
+ exclude = newOptions.exclude || [];
28
+ onClose = newOptions.onClose;
29
+ },
30
+ destroy() {
31
+ document.removeEventListener('click', handleClick, true);
32
+ }
33
+ };
34
+ }
@@ -9,3 +9,12 @@
9
9
  transform: scale(1);
10
10
  }
11
11
  }
12
+
13
+ @keyframes icon-rotate {
14
+ 0% {
15
+ transform: rotate(10deg);
16
+ }
17
+ 100% {
18
+ transform: rotate(380deg);
19
+ }
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lapikit",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"