@paperless/core 1.54.4 → 1.55.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 (52) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/build/{p-be4c976c.entry.js → p-2b4bdcd9.entry.js} +2 -2
  3. package/dist/build/p-2b4bdcd9.entry.js.map +1 -0
  4. package/dist/build/p-c3999d3e.entry.js +2 -0
  5. package/dist/build/p-c3999d3e.entry.js.map +1 -0
  6. package/dist/build/paperless.esm.js +1 -1
  7. package/dist/build/paperless.esm.js.map +1 -1
  8. package/dist/cjs/index-1fde8b14.js +4 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/p-button-group.cjs.entry.js +45 -0
  11. package/dist/cjs/p-button-group.cjs.entry.js.map +1 -0
  12. package/dist/cjs/p-button_3.cjs.entry.js +4 -2
  13. package/dist/cjs/p-button_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/paperless.cjs.js +1 -1
  15. package/dist/collection/collection-manifest.json +1 -0
  16. package/dist/collection/components/atoms/button/button.component.css +1 -1
  17. package/dist/collection/components/atoms/button/button.component.js +21 -1
  18. package/dist/collection/components/atoms/button/button.component.js.map +1 -1
  19. package/dist/collection/components/molecules/button-group/button-group.component.js +69 -0
  20. package/dist/collection/components/molecules/button-group/button-group.component.js.map +1 -0
  21. package/dist/collection/components/molecules/button-group/test/button-group.component.e2e.js +26 -0
  22. package/dist/collection/components/molecules/button-group/test/button-group.component.e2e.js.map +1 -0
  23. package/dist/collection/components/molecules/button-group/test/button-group.component.spec.js +35 -0
  24. package/dist/collection/components/molecules/button-group/test/button-group.component.spec.js.map +1 -0
  25. package/dist/components/button.component.js +6 -3
  26. package/dist/components/button.component.js.map +1 -1
  27. package/dist/components/p-button-group.d.ts +11 -0
  28. package/dist/components/p-button-group.js +61 -0
  29. package/dist/components/p-button-group.js.map +1 -0
  30. package/dist/esm/index-7b917f6b.js +4 -0
  31. package/dist/esm/loader.js +1 -1
  32. package/dist/esm/p-button-group.entry.js +41 -0
  33. package/dist/esm/p-button-group.entry.js.map +1 -0
  34. package/dist/esm/p-button_3.entry.js +4 -2
  35. package/dist/esm/p-button_3.entry.js.map +1 -1
  36. package/dist/esm/paperless.js +1 -1
  37. package/dist/index.html +1 -1
  38. package/dist/paperless/{p-be4c976c.entry.js → p-2b4bdcd9.entry.js} +2 -2
  39. package/dist/paperless/p-2b4bdcd9.entry.js.map +1 -0
  40. package/dist/paperless/p-c3999d3e.entry.js +2 -0
  41. package/dist/paperless/p-c3999d3e.entry.js.map +1 -0
  42. package/dist/paperless/paperless.esm.js +1 -1
  43. package/dist/paperless/paperless.esm.js.map +1 -1
  44. package/dist/sw.js +1 -1
  45. package/dist/sw.js.map +1 -1
  46. package/dist/types/components/atoms/button/button.component.d.ts +4 -0
  47. package/dist/types/components/molecules/button-group/button-group.component.d.ts +14 -0
  48. package/dist/types/components.d.ts +29 -0
  49. package/hydrate/index.js +53 -3
  50. package/package.json +1 -1
  51. package/dist/build/p-be4c976c.entry.js.map +0 -1
  52. package/dist/paperless/p-be4c976c.entry.js.map +0 -1
@@ -70,6 +70,10 @@ export declare class Button {
70
70
  * Wether the button should inherit text styles
71
71
  */
72
72
  inheritText: boolean;
73
+ /**
74
+ * Position of the button in the button group, mostly un-used if not in a group
75
+ */
76
+ buttonGroupPosition: 'start' | 'middle' | 'end' | 'none';
73
77
  /**
74
78
  * Button click event
75
79
  */
@@ -0,0 +1,14 @@
1
+ export declare class ButtonGroup {
2
+ /**
3
+ * The size of the child buttons
4
+ */
5
+ size: 'medium' | 'small';
6
+ /**
7
+ * The host element
8
+ */
9
+ private _el;
10
+ componentWillLoad(): void;
11
+ render(): any;
12
+ slotchange(): void;
13
+ private _checkButtons;
14
+ }
@@ -128,6 +128,10 @@ export namespace Components {
128
128
  * The type of the button
129
129
  */
130
130
  "as": 'a' | 'button';
131
+ /**
132
+ * Position of the button in the button group, mostly un-used if not in a group
133
+ */
134
+ "buttonGroupPosition": 'start' | 'middle' | 'end' | 'none';
131
135
  /**
132
136
  * Wether to show a chevron or not
133
137
  */
@@ -193,6 +197,12 @@ export namespace Components {
193
197
  */
194
198
  "variant": 'primary' | 'secondary' | 'text';
195
199
  }
200
+ interface PButtonGroup {
201
+ /**
202
+ * The size of the child buttons
203
+ */
204
+ "size": 'medium' | 'small';
205
+ }
196
206
  interface PCalendar {
197
207
  /**
198
208
  * Wether to disable the weekends
@@ -1751,6 +1761,12 @@ declare global {
1751
1761
  prototype: HTMLPButtonElement;
1752
1762
  new (): HTMLPButtonElement;
1753
1763
  };
1764
+ interface HTMLPButtonGroupElement extends Components.PButtonGroup, HTMLStencilElement {
1765
+ }
1766
+ var HTMLPButtonGroupElement: {
1767
+ prototype: HTMLPButtonGroupElement;
1768
+ new (): HTMLPButtonGroupElement;
1769
+ };
1754
1770
  interface HTMLPCalendarElement extends Components.PCalendar, HTMLStencilElement {
1755
1771
  }
1756
1772
  var HTMLPCalendarElement: {
@@ -2112,6 +2128,7 @@ declare global {
2112
2128
  "p-avatar-group": HTMLPAvatarGroupElement;
2113
2129
  "p-backdrop": HTMLPBackdropElement;
2114
2130
  "p-button": HTMLPButtonElement;
2131
+ "p-button-group": HTMLPButtonGroupElement;
2115
2132
  "p-calendar": HTMLPCalendarElement;
2116
2133
  "p-card-body": HTMLPCardBodyElement;
2117
2134
  "p-card-container": HTMLPCardContainerElement;
@@ -2282,6 +2299,10 @@ declare namespace LocalJSX {
2282
2299
  * The type of the button
2283
2300
  */
2284
2301
  "as"?: 'a' | 'button';
2302
+ /**
2303
+ * Position of the button in the button group, mostly un-used if not in a group
2304
+ */
2305
+ "buttonGroupPosition"?: 'start' | 'middle' | 'end' | 'none';
2285
2306
  /**
2286
2307
  * Wether to show a chevron or not
2287
2308
  */
@@ -2351,6 +2372,12 @@ declare namespace LocalJSX {
2351
2372
  */
2352
2373
  "variant"?: 'primary' | 'secondary' | 'text';
2353
2374
  }
2375
+ interface PButtonGroup {
2376
+ /**
2377
+ * The size of the child buttons
2378
+ */
2379
+ "size"?: 'medium' | 'small';
2380
+ }
2354
2381
  interface PCalendar {
2355
2382
  /**
2356
2383
  * Wether to disable the weekends
@@ -3958,6 +3985,7 @@ declare namespace LocalJSX {
3958
3985
  "p-avatar-group": PAvatarGroup;
3959
3986
  "p-backdrop": PBackdrop;
3960
3987
  "p-button": PButton;
3988
+ "p-button-group": PButtonGroup;
3961
3989
  "p-calendar": PCalendar;
3962
3990
  "p-card-body": PCardBody;
3963
3991
  "p-card-container": PCardContainer;
@@ -4029,6 +4057,7 @@ declare module "@stencil/core" {
4029
4057
  "p-avatar-group": LocalJSX.PAvatarGroup & JSXBase.HTMLAttributes<HTMLPAvatarGroupElement>;
4030
4058
  "p-backdrop": LocalJSX.PBackdrop & JSXBase.HTMLAttributes<HTMLPBackdropElement>;
4031
4059
  "p-button": LocalJSX.PButton & JSXBase.HTMLAttributes<HTMLPButtonElement>;
4060
+ "p-button-group": LocalJSX.PButtonGroup & JSXBase.HTMLAttributes<HTMLPButtonGroupElement>;
4032
4061
  "p-calendar": LocalJSX.PCalendar & JSXBase.HTMLAttributes<HTMLPCalendarElement>;
4033
4062
  "p-card-body": LocalJSX.PCardBody & JSXBase.HTMLAttributes<HTMLPCardBodyElement>;
4034
4063
  "p-card-container": LocalJSX.PCardContainer & JSXBase.HTMLAttributes<HTMLPCardContainerElement>;
package/hydrate/index.js CHANGED
@@ -5978,7 +5978,7 @@ class Backdrop {
5978
5978
  }; }
5979
5979
  }
5980
5980
 
5981
- const buttonComponentCss = ".flex{display:flex!important}.h-10{height:2.5rem!important}.h-full{height:100%!important}.w-auto{width:auto!important}.cursor-pointer{cursor:pointer!important}.items-center{align-items:center!important}.rounded-large{border-radius:.375rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-mystic-dark{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-indigo{background-color:rgb(82 138 250/var(--tw-bg-opacity))!important}.bg-indigo,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.font-semibold{font-weight:600!important}.underline{text-decoration-line:underline!important}.outline{outline-style:solid!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}*{box-sizing:border-box}p-button{height:2.5rem;width:auto}p-button,p-button a,p-button button{display:flex;font-size:1rem;line-height:1.5rem}p-button a,p-button button{align-items:center;border:0;border-radius:.375rem!important;cursor:pointer;font-weight:600;height:100%;justify-content:center;outline:0;width:100%;will-change:filter}p-button a.icon-position-end>p-icon:not(.chevron),p-button a>p-loader,p-button button.icon-position-end>p-icon:not(.chevron),p-button button>p-loader{margin-left:.5rem}p-button a.icon-position-start>p-icon:not(.chevron),p-button button.icon-position-start>p-icon:not(.chevron){margin-right:.5rem}p-button a.variant-primary,p-button a.variant-secondary,p-button button.variant-primary,p-button button.variant-secondary{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);padding-left:1rem;padding-right:1rem}p-button a.variant-primary.active,p-button a.variant-primary:active,p-button a.variant-secondary.active,p-button a.variant-secondary:active,p-button button.variant-primary.active,p-button button.variant-primary:active,p-button button.variant-secondary.active,p-button button.variant-secondary:active{--tw-drop-shadow:drop-shadow(transparent);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}p-button a.variant-primary,p-button button.variant-primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(82 138 250/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}p-button a.variant-primary.active:not([disabled]),p-button a.variant-primary:active:not([disabled]),p-button button.variant-primary.active:not([disabled]),p-button button.variant-primary:active:not([disabled]){--tw-bg-opacity:1;background-color:rgb(44 75 169/var(--tw-bg-opacity))}@media (pointer:fine){p-button a.variant-primary:hover:not([disabled]),p-button button.variant-primary:hover:not([disabled]){--tw-drop-shadow:drop-shadow(0px 2px 4px rgba(44,75,169,.4));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}}p-button a.variant-secondary,p-button button.variant-secondary{--tw-border-opacity:1!important;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(218 230 240/var(--tw-border-opacity))!important;border-style:solid!important;border-width:1px!important;color:rgb(81 83 107/var(--tw-text-opacity))}p-button a.variant-secondary.active:not([disabled]),p-button a.variant-secondary:active:not([disabled]),p-button button.variant-secondary.active:not([disabled]),p-button button.variant-secondary:active:not([disabled]){--tw-bg-opacity:1;background-color:rgb(247 250 252/var(--tw-bg-opacity))}@media (pointer:fine){p-button a.variant-secondary:hover:not([disabled]),p-button button.variant-secondary:hover:not([disabled]){--tw-drop-shadow:drop-shadow(0px 2px 4px rgba(176,178,203,.4));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}}p-button a.variant-text,p-button button.variant-text{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity))}p-button a.variant-text.has-underline,p-button button.variant-text.has-underline{text-decoration-line:underline;text-underline-offset:1px}p-button a.variant-text:hover:not([disabled]),p-button button.variant-text:hover:not([disabled]){--tw-text-opacity:1;color:rgb(44 75 169/var(--tw-text-opacity))}p-button a[disabled],p-button button[disabled]{opacity:.4}p-button a.should-inherit-text,p-button button.should-inherit-text{color:inherit!important;font-size:inherit!important;font-weight:inherit!important}p-button.has-chevron a.chevron-position-start,p-button.has-chevron button.chevron-position-start{padding-left:.5rem}p-button.has-chevron a.chevron-position-start>p-icon.chevron,p-button.has-chevron button.chevron-position-start>p-icon.chevron{margin-right:.5rem}p-button.has-chevron a.chevron-position-end,p-button.has-chevron button.chevron-position-end{padding-right:.5rem}p-button.has-chevron a.chevron-position-end>p-icon.chevron,p-button.has-chevron button.chevron-position-end>p-icon.chevron{margin-left:.5rem}p-button.has-chevron a.variant-secondary:hover:not([disabled]) p-icon:last-child,p-button.has-chevron button.variant-secondary:hover:not([disabled]) p-icon:last-child{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity))}p-button.has-icon-only{width:2.5rem}p-button.has-icon-only a,p-button.has-icon-only button{padding:0}p-button.has-icon-only a>p-icon:first-child,p-button.has-icon-only button>p-icon:first-child{margin-left:0;margin-right:0}p-button.has-icon-only a>p-loader,p-button.has-icon-only button>p-loader{margin-left:0}p-button.has-icon-only.has-chevron{width:auto}p-button.has-icon-only.has-chevron a.chevron-position-start,p-button.has-icon-only.has-chevron button.chevron-position-start{padding-right:.5rem}p-button.has-icon-only.has-chevron a.chevron-position-end,p-button.has-icon-only.has-chevron button.chevron-position-end{padding-left:.5rem}p-button.size-small{height:2rem}p-button.size-small a,p-button.size-small button{font-size:.875rem;line-height:1.25rem}p-button.size-small a>p-icon,p-button.size-small button>p-icon{font-size:1rem;line-height:1.5rem}p-button.size-small.has-icon-only{width:2rem}p-button.size-small.has-icon-only.has-chevron{width:auto}.static{position:static!important}";
5981
+ const buttonComponentCss = ".flex{display:flex!important}.h-10{height:2.5rem!important}.h-full{height:100%!important}.w-auto{width:auto!important}.cursor-pointer{cursor:pointer!important}.items-center{align-items:center!important}.rounded-large{border-radius:.375rem!important}.rounded-none{border-radius:0!important}.rounded-l-none{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-r-none{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-mystic-dark{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-indigo{background-color:rgb(82 138 250/var(--tw-bg-opacity))!important}.bg-indigo,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.font-semibold{font-weight:600!important}.underline{text-decoration-line:underline!important}.outline{outline-style:solid!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}*{box-sizing:border-box}p-button{height:2.5rem;width:auto}p-button,p-button a,p-button button{display:flex;font-size:1rem;line-height:1.5rem}p-button a,p-button button{align-items:center;border:0;border-radius:.375rem!important;cursor:pointer;font-weight:600;height:100%;justify-content:center;outline:0;width:100%;will-change:filter}p-button a.icon-position-end>p-icon:not(.chevron),p-button a>p-loader,p-button button.icon-position-end>p-icon:not(.chevron),p-button button>p-loader{margin-left:.5rem}p-button a.icon-position-start>p-icon:not(.chevron),p-button button.icon-position-start>p-icon:not(.chevron){margin-right:.5rem}p-button a.variant-primary,p-button a.variant-secondary,p-button button.variant-primary,p-button button.variant-secondary{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);padding-left:1rem;padding-right:1rem}p-button a.variant-primary.active,p-button a.variant-primary:active,p-button a.variant-secondary.active,p-button a.variant-secondary:active,p-button button.variant-primary.active,p-button button.variant-primary:active,p-button button.variant-secondary.active,p-button button.variant-secondary:active{--tw-drop-shadow:drop-shadow(transparent);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}p-button a.variant-primary,p-button button.variant-primary{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(82 138 250/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}p-button a.variant-primary.active:not([disabled]),p-button a.variant-primary:active:not([disabled]),p-button button.variant-primary.active:not([disabled]),p-button button.variant-primary:active:not([disabled]){--tw-bg-opacity:1;background-color:rgb(44 75 169/var(--tw-bg-opacity))}@media (pointer:fine){p-button a.variant-primary:hover:not([disabled]),p-button button.variant-primary:hover:not([disabled]){--tw-drop-shadow:drop-shadow(0px 2px 4px rgba(44,75,169,.4));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}}p-button a.variant-secondary,p-button button.variant-secondary{--tw-border-opacity:1!important;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(218 230 240/var(--tw-border-opacity))!important;border-style:solid!important;border-width:1px!important;color:rgb(81 83 107/var(--tw-text-opacity))}p-button a.variant-secondary.active:not([disabled]),p-button a.variant-secondary:active:not([disabled]),p-button button.variant-secondary.active:not([disabled]),p-button button.variant-secondary:active:not([disabled]){--tw-bg-opacity:1;background-color:rgb(247 250 252/var(--tw-bg-opacity))}@media (pointer:fine){p-button a.variant-secondary:hover:not([disabled]),p-button button.variant-secondary:hover:not([disabled]){--tw-drop-shadow:drop-shadow(0px 2px 4px rgba(176,178,203,.4));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}}p-button a.variant-text,p-button button.variant-text{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity))}p-button a.variant-text.has-underline,p-button button.variant-text.has-underline{text-decoration-line:underline;text-underline-offset:1px}p-button a.variant-text:hover:not([disabled]),p-button button.variant-text:hover:not([disabled]){--tw-text-opacity:1;color:rgb(44 75 169/var(--tw-text-opacity))}p-button a[disabled],p-button button[disabled]{opacity:.4}p-button a.should-inherit-text,p-button button.should-inherit-text{color:inherit!important;font-size:inherit!important;font-weight:inherit!important}p-button a.button-group-pos-start,p-button button.button-group-pos-start{border-bottom-right-radius:0!important;border-top-right-radius:0!important}p-button a.button-group-pos-middle,p-button button.button-group-pos-middle{border-radius:0!important}p-button a.button-group-pos-end,p-button button.button-group-pos-end{border-bottom-left-radius:0!important;border-top-left-radius:0!important}p-button.has-chevron a.chevron-position-start,p-button.has-chevron button.chevron-position-start{padding-left:.5rem}p-button.has-chevron a.chevron-position-start>p-icon.chevron,p-button.has-chevron button.chevron-position-start>p-icon.chevron{margin-right:.5rem}p-button.has-chevron a.chevron-position-end,p-button.has-chevron button.chevron-position-end{padding-right:.5rem}p-button.has-chevron a.chevron-position-end>p-icon.chevron,p-button.has-chevron button.chevron-position-end>p-icon.chevron{margin-left:.5rem}p-button.has-chevron a.variant-secondary:hover:not([disabled]) p-icon:last-child,p-button.has-chevron button.variant-secondary:hover:not([disabled]) p-icon:last-child{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity))}p-button.has-icon-only{width:2.5rem}p-button.has-icon-only a,p-button.has-icon-only button{padding:0}p-button.has-icon-only a>p-icon:first-child,p-button.has-icon-only button>p-icon:first-child{margin-left:0;margin-right:0}p-button.has-icon-only a>p-loader,p-button.has-icon-only button>p-loader{margin-left:0}p-button.has-icon-only.has-chevron{width:auto}p-button.has-icon-only.has-chevron a.chevron-position-start,p-button.has-icon-only.has-chevron button.chevron-position-start{padding-right:.5rem}p-button.has-icon-only.has-chevron a.chevron-position-end,p-button.has-icon-only.has-chevron button.chevron-position-end{padding-left:.5rem}p-button.size-small{height:2rem}p-button.size-small a,p-button.size-small button{font-size:.875rem;line-height:1.25rem}p-button.size-small a>p-icon,p-button.size-small button>p-icon{font-size:1rem;line-height:1.5rem}p-button.size-small.has-icon-only{width:2rem}p-button.size-small.has-icon-only.has-chevron{width:auto}.static{position:static!important}";
5982
5982
 
5983
5983
  class Button {
5984
5984
  constructor(hostRef) {
@@ -6001,6 +6001,7 @@ class Button {
6001
6001
  this.iconFlip = undefined;
6002
6002
  this.iconRotate = undefined;
6003
6003
  this.inheritText = false;
6004
+ this.buttonGroupPosition = 'none';
6004
6005
  }
6005
6006
  render() {
6006
6007
  var _a;
@@ -6016,7 +6017,8 @@ class Button {
6016
6017
  const VariableTag = this.variant === 'text' || ((_a = this.href) === null || _a === void 0 ? void 0 : _a.length) || this.as === 'a'
6017
6018
  ? 'a'
6018
6019
  : 'button';
6019
- return (hAsync(Host, { class: `p-button size-${this.size} ${this.iconOnly && 'has-icon-only'} ${this.chevron && 'has-chevron'}` }, hAsync(VariableTag, { class: `variant-${this.variant} icon-position-${this.iconPosition} chevron-position-${this.chevronPosition} ${this.inheritText && 'should-inherit-text'} ${this.underline && 'has-underline'}`, disabled: this.disabled, href: this.href, type: this.variant !== 'text' ? this.type : undefined, target: this.target }, this.chevron && this.chevronPosition === 'start' && (hAsync("p-icon", { class: 'chevron', variant: 'chevron', rotate: this.chevron === 'up' ? 180 : 0 })), this.icon &&
6020
+ return (hAsync(Host, { class: `p-button size-${this.size} ${this.iconOnly && 'has-icon-only'} ${this.chevron && 'has-chevron'}` }, hAsync(VariableTag, { class: `variant-${this.variant} icon-position-${this.iconPosition} chevron-position-${this.chevronPosition} ${this.inheritText && 'should-inherit-text'} ${this.underline && 'has-underline'} ${this.buttonGroupPosition !== 'none' &&
6021
+ `button-group-pos-${this.buttonGroupPosition}`}`, disabled: this.disabled, href: this.href, type: this.variant !== 'text' ? this.type : undefined, target: this.target }, this.chevron && this.chevronPosition === 'start' && (hAsync("p-icon", { class: 'chevron', variant: 'chevron', rotate: this.chevron === 'up' ? 180 : 0 })), this.icon &&
6020
6022
  this.iconPosition === 'start' &&
6021
6023
  !(this.iconOnly && this.loading) &&
6022
6024
  this._getIcon(), hAsync("slot", null), this.icon &&
@@ -6058,7 +6060,8 @@ class Button {
6058
6060
  "iconPosition": [1, "icon-position"],
6059
6061
  "iconFlip": [1, "icon-flip"],
6060
6062
  "iconRotate": [2, "icon-rotate"],
6061
- "inheritText": [4, "inherit-text"]
6063
+ "inheritText": [4, "inherit-text"],
6064
+ "buttonGroupPosition": [1, "button-group-position"]
6062
6065
  },
6063
6066
  "$listeners$": [[2, "click", "handleClick"]],
6064
6067
  "$lazyBundleId$": "-",
@@ -6066,6 +6069,52 @@ class Button {
6066
6069
  }; }
6067
6070
  }
6068
6071
 
6072
+ class ButtonGroup {
6073
+ constructor(hostRef) {
6074
+ registerInstance(this, hostRef);
6075
+ this.size = 'medium';
6076
+ }
6077
+ componentWillLoad() {
6078
+ this._checkButtons();
6079
+ }
6080
+ render() {
6081
+ return (hAsync(Host, { class: 'p-button-group flex items-center' }, hAsync("slot", null)));
6082
+ }
6083
+ slotchange() {
6084
+ this._checkButtons();
6085
+ }
6086
+ _checkButtons() {
6087
+ const buttons = Array.from(this._el.querySelectorAll(':scope > p-button'));
6088
+ for (let i = 0; i < buttons.length; i++) {
6089
+ const button = buttons[i];
6090
+ button.size = this.size;
6091
+ // first
6092
+ if (i === 0) {
6093
+ button.buttonGroupPosition = 'start';
6094
+ continue;
6095
+ }
6096
+ // last
6097
+ if (i === buttons.length - 1) {
6098
+ button.buttonGroupPosition = 'end';
6099
+ continue;
6100
+ }
6101
+ // rest
6102
+ button.buttonGroupPosition = 'middle';
6103
+ }
6104
+ }
6105
+ get _el() { return getElement(this); }
6106
+ static get cmpMeta() { return {
6107
+ "$flags$": 9,
6108
+ "$tagName$": "p-button-group",
6109
+ "$members$": {
6110
+ "size": [1]
6111
+ },
6112
+ "$listeners$": [[0, "slotchange", "slotchange"]],
6113
+ "$lazyBundleId$": "-",
6114
+ "$attrsToReflect$": []
6115
+ }; }
6116
+ }
6117
+
6069
6118
  function _typeof(obj) {
6070
6119
  "@babel/helpers - typeof";
6071
6120
 
@@ -23935,6 +23984,7 @@ registerComponents([
23935
23984
  AvatarGroup,
23936
23985
  Backdrop,
23937
23986
  Button,
23987
+ ButtonGroup,
23938
23988
  Calendar,
23939
23989
  CardBody,
23940
23990
  CardContainer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperless/core",
3
- "version": "1.54.4",
3
+ "version": "1.55.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"names":["icons","arrow","attachment","bread","calendar","camera","car","checklist","checkmark","chevron","chevrons","clock","colleagues","cogs","comment","companies","company","deactivate","document","download","envelope","explanation","eye","faPiggy","filter","folder","formula","grid","hashtag","headset","hidden","iDeal","integration","list","location","megaphone","menu","minus","more","negative","notification","pagination","payment","pencil","person","plan","plus","question","reload","receipt","report","review","search","settings","sick","signout","switch","switchIcon","tachometer","task","template","tool","trash","turn","upload","warning","buttonComponentCss","Button","render","loaderColor","this","variant","VariableTag","_a","href","length","as","h","Host","class","size","iconOnly","iconPosition","chevronPosition","inheritText","underline","disabled","type","undefined","target","rotate","icon","loading","_getIcon","color","handleClick","ev","preventDefault","onClick","emit","flip","iconFlip","iconRotate","iconComponentCss","Icon","styles","transform","innerHTML","loaderComponentCss","Loader","_show","show","_loader","componentWillRender","_checkShow","componentShouldUpdate","_showSubscriber","unsubscribe","subscribe"],"sources":["src/utils/icons.ts","src/components/atoms/button/button.component.scss?tag=p-button","src/components/atoms/button/button.component.tsx","src/components/atoms/icon/icon.component.scss?tag=p-icon","src/components/atoms/icon/icon.component.tsx","src/components/atoms/loader/loader.component.scss?tag=p-loader&encapsulation=shadow","src/components/atoms/loader/loader.component.tsx"],"sourcesContent":["import arrow from '../assets/icons/arrow.svg';\nimport attachment from '../assets/icons/attachment.svg';\nimport bread from '../assets/icons/bread.svg';\nimport calendar from '../assets/icons/calendar.svg';\nimport camera from '../assets/icons/camera.svg';\nimport car from '../assets/icons/car.svg';\nimport checklist from '../assets/icons/checklist.svg';\nimport checkmark from '../assets/icons/checkmark.svg';\nimport chevron from '../assets/icons/chevron.svg';\nimport chevrons from '../assets/icons/chevrons.svg';\nimport clock from '../assets/icons/clock.svg';\nimport cogs from '../assets/icons/cogs.svg';\nimport colleagues from '../assets/icons/colleagues.svg';\nimport comment from '../assets/icons/comment.svg';\nimport companies from '../assets/icons/companies.svg';\nimport company from '../assets/icons/company.svg';\nimport deactivate from '../assets/icons/deactivate.svg';\nimport document from '../assets/icons/document.svg';\nimport download from '../assets/icons/download.svg';\nimport envelope from '../assets/icons/envelope.svg';\nimport explanation from '../assets/icons/explanation.svg';\nimport eye from '../assets/icons/eye.svg';\nimport faPiggy from '../assets/icons/fa/piggy.svg';\nimport filter from '../assets/icons/filter.svg';\nimport folder from '../assets/icons/folder.svg';\nimport formula from '../assets/icons/formula.svg';\nimport grid from '../assets/icons/grid.svg';\nimport hashtag from '../assets/icons/hashtag.svg';\nimport headset from '../assets/icons/headset.svg';\nimport hidden from '../assets/icons/hidden.svg';\nimport iDeal from '../assets/icons/iDeal.svg';\nimport integration from '../assets/icons/integration.svg';\nimport list from '../assets/icons/list.svg';\nimport location from '../assets/icons/location.svg';\nimport megaphone from '../assets/icons/megaphone.svg';\nimport menu from '../assets/icons/menu.svg';\nimport minus from '../assets/icons/minus.svg';\nimport more from '../assets/icons/more.svg';\nimport negative from '../assets/icons/negative.svg';\nimport notification from '../assets/icons/notification.svg';\nimport pagination from '../assets/icons/pagination.svg';\nimport payment from '../assets/icons/payment.svg';\nimport pencil from '../assets/icons/pencil.svg';\nimport person from '../assets/icons/person.svg';\nimport plan from '../assets/icons/plan.svg';\nimport plus from '../assets/icons/plus.svg';\nimport question from '../assets/icons/question.svg';\nimport receipt from '../assets/icons/receipt.svg';\nimport reload from '../assets/icons/reload.svg';\nimport report from '../assets/icons/report.svg';\nimport review from '../assets/icons/review.svg';\nimport search from '../assets/icons/search.svg';\nimport settings from '../assets/icons/settings.svg';\nimport sick from '../assets/icons/sick.svg';\nimport signout from '../assets/icons/signout.svg';\nimport switchIcon from '../assets/icons/switch.svg';\nimport tachometer from '../assets/icons/tachometer.svg';\nimport task from '../assets/icons/task.svg';\nimport template from '../assets/icons/template.svg';\nimport tool from '../assets/icons/tool.svg';\nimport trash from '../assets/icons/trash.svg';\nimport turn from '../assets/icons/turn.svg';\nimport upload from '../assets/icons/upload.svg';\nimport warning from '../assets/icons/warning.svg';\n\nexport default {\n\tarrow,\n\tattachment,\n\tbread,\n\tcalendar,\n\tcamera,\n\tcar,\n\tchecklist,\n\tcheckmark,\n\tchevron,\n\tchevrons,\n\tclock,\n\tcolleagues,\n\tcogs,\n\tcomment,\n\tcompanies,\n\tcompany,\n\tdeactivate,\n\tdocument,\n\tdownload,\n\tenvelope,\n\texplanation,\n\teye,\n\tfaPiggy,\n\tfilter,\n\tfolder,\n\tformula,\n\tgrid,\n\thashtag,\n\theadset,\n\thidden,\n\tiDeal,\n\tintegration,\n\tlist,\n\tlocation,\n\tmegaphone,\n\tmenu,\n\tminus,\n\tmore,\n\tnegative,\n\tnotification,\n\tpagination,\n\tpayment,\n\tpencil,\n\tperson,\n\tplan,\n\tplus,\n\tquestion,\n\treload,\n\treceipt,\n\treport,\n review,\n\tsearch,\n\tsettings,\n\tsick,\n\tsignout,\n\tswitch: switchIcon,\n\ttachometer,\n\ttask,\n\ttemplate,\n\ttool,\n\ttrash,\n\tturn,\n\tupload,\n\twarning,\n};\n","p-button {\n\t@apply flex h-10 w-auto text-base;\n\n\tbutton,\n\ta {\n\t\toutline: 0;\n\t\tborder: 0;\n\t\t@apply h-full w-full;\n\t\t@apply rounded-large #{!important};\n\t\t@apply font-semibold leading-4;\n\t\t@apply flex items-center justify-center;\n\t\t@apply cursor-pointer text-base;\n\n\t\twill-change: filter;\n\n\t\t> p-loader {\n\t\t\t@apply ml-2;\n\t\t}\n\n\t\t// Icon positions\n\t\t&.icon-position-end {\n\t\t\t> p-icon:not(.chevron) {\n\t\t\t\t@apply ml-2;\n\t\t\t}\n\t\t}\n\n\t\t&.icon-position-start {\n\t\t\t> p-icon:not(.chevron) {\n\t\t\t\t@apply mr-2;\n\t\t\t}\n\t\t}\n\n\t\t// Variants\n\t\t&.variant-primary,\n\t\t&.variant-secondary {\n\t\t\t@apply px-4 filter;\n\t\t}\n\n\t\t&.variant-primary,\n\t\t&.variant-secondary {\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\t@apply drop-shadow-transparent;\n\t\t\t}\n\t\t}\n\n\t\t&.variant-primary {\n\t\t\t@apply bg-indigo text-white;\n\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\t&:not([disabled]) {\n\t\t\t\t\t@apply bg-indigo-dark;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (pointer: fine) {\n\t\t\t\t&:hover:not([disabled]) {\n\t\t\t\t\t@apply drop-shadow-button-primary-hover;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.variant-secondary {\n\t\t\t@apply border border-solid border-mystic-dark #{!important};\n\t\t\t@apply bg-white text-storm;\n\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\t&:not([disabled]) {\n\t\t\t\t\t@apply bg-mystic;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (pointer: fine) {\n\t\t\t\t&:hover:not([disabled]) {\n\t\t\t\t\t@apply drop-shadow-button-secondary-hover;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.variant-text {\n\t\t\t@apply text-indigo;\n\n\t\t\t&.has-underline {\n\t\t\t\t@apply underline underline-offset-1;\n\t\t\t}\n\n\t\t\t&:hover:not([disabled]) {\n\t\t\t\t@apply text-indigo-dark;\n\t\t\t}\n\t\t}\n\n\t\t&[disabled] {\n\t\t\t@apply opacity-40;\n\t\t}\n\n\t\t&.should-inherit-text {\n\t\t\tcolor: inherit #{!important};\n\t\t\tfont-size: inherit #{!important};\n\t\t\tfont-weight: inherit #{!important};\n\t\t}\n\t}\n\n\t// chevron\n\t&.has-chevron {\n\t\ta,\n\t\tbutton {\n\t\t\t&.chevron-position-start {\n\t\t\t\t@apply pl-2;\n\n\t\t\t\t> p-icon.chevron {\n\t\t\t\t\t@apply mr-2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.chevron-position-end {\n\t\t\t\t@apply pr-2;\n\n\t\t\t\t> p-icon.chevron {\n\t\t\t\t\t@apply ml-2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.variant-secondary:hover:not([disabled]) p-icon:last-child {\n\t\t\t\t@apply text-indigo;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.has-icon-only {\n\t\t@apply w-10;\n\n\t\ta,\n\t\tbutton {\n\t\t\t@apply p-0;\n\n\t\t\t> p-icon:first-child {\n\t\t\t\t@apply mx-0;\n\t\t\t}\n\n\t\t\t> p-loader {\n\t\t\t\t@apply ml-0;\n\t\t\t}\n\t\t}\n\n\t\t&.has-chevron {\n\t\t\t@apply w-auto;\n\n\t\t\ta,\n\t\t\tbutton {\n\t\t\t\t&.chevron-position-start {\n\t\t\t\t\t@apply pr-2;\n\t\t\t\t}\n\n\t\t\t\t&.chevron-position-end {\n\t\t\t\t\t@apply pl-2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// sizes\n\t&.size-small {\n\t\t@apply h-8;\n\n\t\tbutton,\n\t\ta {\n\t\t\t@apply text-sm;\n\n\t\t\t> p-icon {\n\t\t\t\t@apply text-base;\n\t\t\t}\n\t\t}\n\n\t\t&.has-icon-only {\n\t\t\t@apply w-8;\n\n\t\t\t&.has-chevron {\n\t\t\t\t@apply w-auto;\n\t\t\t}\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n} from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../icon/icon.component';\n\n@Component({\n\ttag: 'p-button',\n\tstyleUrl: 'button.component.scss',\n\t// shadow: true,\n})\nexport class Button {\n\t/**\n\t * The type of the button\n\t */\n\t@Prop() as: 'a' | 'button' = 'button';\n\n\t/**\n\t * The variant of the button\n\t */\n\t@Prop() variant: 'primary' | 'secondary' | 'text' = 'primary';\n\n\t/**\n\t * Wether the text variant has underline\n\t */\n\t@Prop() underline: boolean = false;\n\n\t/**\n\t * Href in case of \"text\" version\n\t */\n\t@Prop() href: string;\n\n\t/**\n\t * Target in case of \"text\" version\n\t */\n\t@Prop() target: string;\n\n\t/**\n\t * The size of the button\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The type of the button\n\t */\n\t@Prop() type: 'button' | 'submit' = 'button';\n\n\t/**\n\t * Wether to show a loader or not\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show a chevron or not\n\t */\n\t@Prop() chevron: boolean | 'up' | 'down' = false;\n\n\t/**\n\t * Chevron position\n\t */\n\t@Prop() chevronPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Wether the button is disabled\n\t */\n\t@Prop() disabled: boolean = false;\n\n\t/**\n\t * Icon to show on the button\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Wether the button is icon only\n\t */\n\t@Prop() iconOnly: boolean = false;\n\n\t/**\n\t * Icon position\n\t */\n\t@Prop() iconPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Wether the button should inherit text styles\n\t */\n\t@Prop() inheritText: boolean = false;\n\n\t/**\n\t * Button click event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tonClick: EventEmitter<MouseEvent>;\n\n\trender() {\n\t\tlet loaderColor: 'white' | 'storm' | 'indigo' = 'white';\n\t\tswitch (this.variant) {\n\t\t\tcase 'secondary':\n\t\t\t\tloaderColor = 'storm';\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tloaderColor = 'indigo';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst VariableTag =\n\t\t\tthis.variant === 'text' || this.href?.length || this.as === 'a'\n\t\t\t\t? 'a'\n\t\t\t\t: 'button';\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-button size-${this.size} ${\n\t\t\t\t\tthis.iconOnly && 'has-icon-only'\n\t\t\t\t} ${this.chevron && 'has-chevron'}`}\n\t\t\t>\n\t\t\t\t<VariableTag\n\t\t\t\t\tclass={`variant-${this.variant} icon-position-${\n\t\t\t\t\t\tthis.iconPosition\n\t\t\t\t\t} chevron-position-${this.chevronPosition} ${\n\t\t\t\t\t\tthis.inheritText && 'should-inherit-text'\n\t\t\t\t\t} ${this.underline && 'has-underline'}`}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\thref={this.href}\n\t\t\t\t\ttype={this.variant !== 'text' ? this.type : undefined}\n\t\t\t\t\ttarget={this.target}\n\t\t\t\t>\n\t\t\t\t\t{this.chevron && this.chevronPosition === 'start' && (\n\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\tclass='chevron'\n\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\trotate={this.chevron === 'up' ? 180 : 0}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.icon &&\n\t\t\t\t\t\tthis.iconPosition === 'start' &&\n\t\t\t\t\t\t!(this.iconOnly && this.loading) &&\n\t\t\t\t\t\tthis._getIcon()}\n\n\t\t\t\t\t<slot />\n\n\t\t\t\t\t{this.icon &&\n\t\t\t\t\t\tthis.iconPosition === 'end' &&\n\t\t\t\t\t\t!(this.iconOnly && this.loading) &&\n\t\t\t\t\t\tthis._getIcon()}\n\n\t\t\t\t\t{this.loading && <p-loader color={loaderColor} />}\n\n\t\t\t\t\t{this.chevron && this.chevronPosition === 'end' && (\n\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\tclass='chevron'\n\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\trotate={this.chevron === 'up' ? 180 : 0}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</VariableTag>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { capture: true })\n\thandleClick(ev: MouseEvent) {\n\t\tif (this.loading || this.disabled) {\n\t\t\tev.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onClick.emit(ev);\n\t}\n\n\tprivate _getIcon() {\n\t\tif (!this.icon) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\t<p-icon\n\t\t\t\tvariant={this.icon}\n\t\t\t\tflip={this.iconFlip}\n\t\t\t\trotate={this.iconRotate}\n\t\t\t/>\n\t\t);\n\t}\n}\n",":host {\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions, TextSizeOptions } from '../../../types/tailwind';\nimport icons from '../../../utils/icons';\n\nexport type IconVariant = keyof typeof icons;\nexport type IconFlipOptions = 'horizontal' | 'vertical';\n\n@Component({\n\ttag: 'p-icon',\n\tstyleUrl: 'icon.component.scss',\n\t// shadow: true,\n})\nexport class Icon {\n\t/**\n\t * The icon the be displayed\n\t */\n\t@Prop() variant!: IconVariant;\n\n\t/**\n\t * The size of the icon, using tailwind sizes\n\t */\n\t@Prop() size: TextSizeOptions = 'auto';\n\n\t/**\n\t * Wether to rotate the icon x degrees\n\t */\n\t@Prop() rotate: RotateOptions = 0;\n\n\t/**\n\t * Wether to flip the icon horizontally or vertically\n\t */\n\t@Prop() flip: IconFlipOptions = null;\n\n\trender() {\n\t\tconst icon = icons[this.variant];\n\n\t\tconst styles = {\n\t\t\t'p-icon flex': true,\n\t\t\t'text-auto': this.size === 'auto',\n\t\t\t'text-xxs': this.size === 'xxs',\n\t\t\t'text-xs': this.size === 'xs',\n\t\t\t'text-sm': this.size === 'sm',\n\t\t\t'text-base': this.size === 'base',\n\t\t\t'text-lg': this.size === 'lg',\n\t\t\t'text-xl': this.size === 'xl',\n\t\t\t'text-2xl': this.size === '2xl',\n\t\t\t'text-3xl': this.size === '3xl',\n\t\t\t'text-4xl': this.size === '4xl',\n\t\t\t'text-5xl': this.size === '5xl',\n\t\t\t'text-6xl': this.size === '6xl',\n\t\t\ttransform: !!this.rotate || !!this.flip,\n\t\t\t'scale-x-flip': this.flip === 'horizontal',\n\t\t\t'scale-y-flip': this.flip === 'vertical',\n\t\t\t'rotate-0': this.rotate === 0,\n\t\t\t'rotate-25': this.rotate === 25,\n\t\t\t'rotate-45': this.rotate === 45,\n\t\t\t'rotate-90': this.rotate === 90,\n\t\t\t'rotate-135': this.rotate === 135,\n\t\t\t'rotate-180': this.rotate === 180,\n\t\t\t'rotate-225': this.rotate === 225,\n\t\t\t'rotate-270': this.rotate === 270,\n\t\t\t'rotate-315': this.rotate === 315,\n\t\t\t'-rotate-0': this.rotate === -0,\n\t\t\t'-rotate-25': this.rotate === -25,\n\t\t\t'-rotate-45': this.rotate === -45,\n\t\t\t'-rotate-90': this.rotate === -90,\n\t\t\t'-rotate-135': this.rotate === -135,\n\t\t\t'-rotate-180': this.rotate === -180,\n\t\t\t'-rotate-225': this.rotate === -225,\n\t\t\t'-rotate-270': this.rotate === -270,\n\t\t\t'-rotate-315': this.rotate === -315,\n\t\t};\n\n\t\treturn <Host class={styles} innerHTML={icon}></Host>;\n\t}\n}\n",":host {\n\t.loader {\n\t\t@apply inline-block h-[1em] w-[1em] rounded-round;\n\t\t@apply border-2 border-solid border-indigo-light border-t-indigo;\n\t\tanimation: 500ms spin linear infinite;\n\n\t\twill-change: transform;\n\n\t\t&.color-storm {\n\t\t\t@apply border-storm-light/40 border-t-storm #{!important};\n\t\t}\n\n\t\t&.color-white {\n\t\t\t@apply border-indigo-light/40 border-t-white #{!important};\n\t\t}\n\t}\n\n\t.loading-screen {\n\t\t@apply w-screen-safe h-screen-safe fixed top-0 left-0;\n\t\t@apply flex items-center justify-center;\n\t\t@apply bg-mystic;\n\n\t\tz-index: 1001;\n\n\t\t.content {\n\t\t\t@apply max-w-xs;\n\n\t\t\t.loader-wrapper {\n\t\t\t\t@apply flex w-full justify-center;\n\n\t\t\t\t.loader {\n\t\t\t\t\t@apply text-4xl;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n:host(.variant-ghost) {\n\t@apply box-border block;\n\n\twill-change: background, background-position-x, background-color;\n\n\tmin-height: 1em;\n\tmin-width: 1em;\n\n\t--loading-bg: #f7fafc;\n\t--loading-stripe: rgba(252, 253, 254, 1);\n\n\tbackground-color: var(--loading-bg);\n\tbackground: linear-gradient(\n\t\t\t100deg,\n\t\t\trgba(255, 255, 255, 0) 40%,\n\t\t\tvar(--loading-stripe) 50%,\n\t\t\trgba(255, 255, 255, 0) 60%\n\t\t)\n\t\tvar(--loading-bg);\n\tbackground-size: 200% 100%;\n\tbackground-position-x: 180%;\n\tanimation: 1s loading ease-in-out infinite;\n}\n\n@keyframes loading {\n\tto {\n\t\tbackground-position-x: -20%;\n\t}\n}\n\n@keyframes spin {\n\t100% {\n\t\ttransform: rotate(1turn);\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n\ttag: 'p-loader',\n\tstyleUrl: 'loader.component.scss',\n\tshadow: true,\n})\nexport class Loader {\n\t/**\n\t * Wether to show or hide the loader\n\t */\n\t@Prop() show: boolean | Observable<boolean> = true;\n\n\t/**\n\t * Variant of loader\n\t */\n\t@Prop() variant:\n\t\t| 'inline'\n\t\t| 'full-width'\n\t\t| 'full-screen'\n\t\t| 'modal'\n\t\t| 'ghost' = 'inline';\n\n\t/**\n\t * Color of the loader\n\t */\n\t@Prop() color: 'indigo' | 'white' | 'storm' = 'indigo';\n\n\t/**\n\t * !NOT IMPLEMENTED! Modal title for modal variant\n\t */\n\t@Prop() modalTitle: string;\n\n\t/**\n\t * !NOT IMPLEMENTED! Modal description for modal variant\n\t */\n\t@Prop() modalDescription: string;\n\n\tprivate _show = this.show;\n\tprivate _showSubscriber: Subscription;\n\n\tprivate _loader = (<div class={`loader color-${this.color}`}></div>);\n\n\tcomponentWillRender() {\n\t\tthis._checkShow();\n\t}\n\n\tcomponentShouldUpdate() {\n\t\tthis._checkShow();\n\t}\n\n\trender() {\n\t\tif (!this._show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.variant === 'ghost') {\n\t\t\treturn <Host class=\"p-loader variant-ghost\"></Host>;\n\t\t}\n\n\t\tif (this.variant === 'full-screen') {\n\t\t\treturn (\n\t\t\t\t<Host class=\"p-loader variant-full-screen\">\n\t\t\t\t\t<div class=\"loading-screen\">\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\n\t\t\t\t\t\t\t<div class=\"loader-wrapper\">{this._loader}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Host>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-loader variant-default flex ${\n\t\t\t\t\tthis.variant === 'full-width' &&\n\t\t\t\t\t'w-full flex justify-center text-4xl'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{this._loader}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _checkShow() {\n\t\tif (this._showSubscriber) {\n\t\t\tthis._showSubscriber.unsubscribe();\n\t\t\tthis._showSubscriber = null;\n\t\t}\n\n\t\tif (typeof this.show !== 'boolean') {\n\t\t\tthis._showSubscriber = this.show?.subscribe(\n\t\t\t\t(show) => (this._show = show)\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show = this.show;\n\t}\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icons","arrow","attachment","bread","calendar","camera","car","checklist","checkmark","chevron","chevrons","clock","colleagues","cogs","comment","companies","company","deactivate","document","download","envelope","explanation","eye","faPiggy","filter","folder","formula","grid","hashtag","headset","hidden","iDeal","integration","list","location","megaphone","menu","minus","more","negative","notification","pagination","payment","pencil","person","plan","plus","question","reload","receipt","report","review","search","settings","sick","signout","switch","switchIcon","tachometer","task","template","tool","trash","turn","upload","warning","buttonComponentCss","Button","render","loaderColor","this","variant","VariableTag","_a","href","length","as","h","Host","class","size","iconOnly","iconPosition","chevronPosition","inheritText","underline","disabled","type","undefined","target","rotate","icon","loading","_getIcon","color","handleClick","ev","preventDefault","onClick","emit","flip","iconFlip","iconRotate","iconComponentCss","Icon","styles","transform","innerHTML","loaderComponentCss","Loader","_show","show","_loader","componentWillRender","_checkShow","componentShouldUpdate","_showSubscriber","unsubscribe","subscribe"],"sources":["src/utils/icons.ts","src/components/atoms/button/button.component.scss?tag=p-button","src/components/atoms/button/button.component.tsx","src/components/atoms/icon/icon.component.scss?tag=p-icon","src/components/atoms/icon/icon.component.tsx","src/components/atoms/loader/loader.component.scss?tag=p-loader&encapsulation=shadow","src/components/atoms/loader/loader.component.tsx"],"sourcesContent":["import arrow from '../assets/icons/arrow.svg';\nimport attachment from '../assets/icons/attachment.svg';\nimport bread from '../assets/icons/bread.svg';\nimport calendar from '../assets/icons/calendar.svg';\nimport camera from '../assets/icons/camera.svg';\nimport car from '../assets/icons/car.svg';\nimport checklist from '../assets/icons/checklist.svg';\nimport checkmark from '../assets/icons/checkmark.svg';\nimport chevron from '../assets/icons/chevron.svg';\nimport chevrons from '../assets/icons/chevrons.svg';\nimport clock from '../assets/icons/clock.svg';\nimport cogs from '../assets/icons/cogs.svg';\nimport colleagues from '../assets/icons/colleagues.svg';\nimport comment from '../assets/icons/comment.svg';\nimport companies from '../assets/icons/companies.svg';\nimport company from '../assets/icons/company.svg';\nimport deactivate from '../assets/icons/deactivate.svg';\nimport document from '../assets/icons/document.svg';\nimport download from '../assets/icons/download.svg';\nimport envelope from '../assets/icons/envelope.svg';\nimport explanation from '../assets/icons/explanation.svg';\nimport eye from '../assets/icons/eye.svg';\nimport faPiggy from '../assets/icons/fa/piggy.svg';\nimport filter from '../assets/icons/filter.svg';\nimport folder from '../assets/icons/folder.svg';\nimport formula from '../assets/icons/formula.svg';\nimport grid from '../assets/icons/grid.svg';\nimport hashtag from '../assets/icons/hashtag.svg';\nimport headset from '../assets/icons/headset.svg';\nimport hidden from '../assets/icons/hidden.svg';\nimport iDeal from '../assets/icons/iDeal.svg';\nimport integration from '../assets/icons/integration.svg';\nimport list from '../assets/icons/list.svg';\nimport location from '../assets/icons/location.svg';\nimport megaphone from '../assets/icons/megaphone.svg';\nimport menu from '../assets/icons/menu.svg';\nimport minus from '../assets/icons/minus.svg';\nimport more from '../assets/icons/more.svg';\nimport negative from '../assets/icons/negative.svg';\nimport notification from '../assets/icons/notification.svg';\nimport pagination from '../assets/icons/pagination.svg';\nimport payment from '../assets/icons/payment.svg';\nimport pencil from '../assets/icons/pencil.svg';\nimport person from '../assets/icons/person.svg';\nimport plan from '../assets/icons/plan.svg';\nimport plus from '../assets/icons/plus.svg';\nimport question from '../assets/icons/question.svg';\nimport receipt from '../assets/icons/receipt.svg';\nimport reload from '../assets/icons/reload.svg';\nimport report from '../assets/icons/report.svg';\nimport review from '../assets/icons/review.svg';\nimport search from '../assets/icons/search.svg';\nimport settings from '../assets/icons/settings.svg';\nimport sick from '../assets/icons/sick.svg';\nimport signout from '../assets/icons/signout.svg';\nimport switchIcon from '../assets/icons/switch.svg';\nimport tachometer from '../assets/icons/tachometer.svg';\nimport task from '../assets/icons/task.svg';\nimport template from '../assets/icons/template.svg';\nimport tool from '../assets/icons/tool.svg';\nimport trash from '../assets/icons/trash.svg';\nimport turn from '../assets/icons/turn.svg';\nimport upload from '../assets/icons/upload.svg';\nimport warning from '../assets/icons/warning.svg';\n\nexport default {\n\tarrow,\n\tattachment,\n\tbread,\n\tcalendar,\n\tcamera,\n\tcar,\n\tchecklist,\n\tcheckmark,\n\tchevron,\n\tchevrons,\n\tclock,\n\tcolleagues,\n\tcogs,\n\tcomment,\n\tcompanies,\n\tcompany,\n\tdeactivate,\n\tdocument,\n\tdownload,\n\tenvelope,\n\texplanation,\n\teye,\n\tfaPiggy,\n\tfilter,\n\tfolder,\n\tformula,\n\tgrid,\n\thashtag,\n\theadset,\n\thidden,\n\tiDeal,\n\tintegration,\n\tlist,\n\tlocation,\n\tmegaphone,\n\tmenu,\n\tminus,\n\tmore,\n\tnegative,\n\tnotification,\n\tpagination,\n\tpayment,\n\tpencil,\n\tperson,\n\tplan,\n\tplus,\n\tquestion,\n\treload,\n\treceipt,\n\treport,\n review,\n\tsearch,\n\tsettings,\n\tsick,\n\tsignout,\n\tswitch: switchIcon,\n\ttachometer,\n\ttask,\n\ttemplate,\n\ttool,\n\ttrash,\n\tturn,\n\tupload,\n\twarning,\n};\n","p-button {\n\t@apply flex h-10 w-auto text-base;\n\n\tbutton,\n\ta {\n\t\toutline: 0;\n\t\tborder: 0;\n\t\t@apply h-full w-full;\n\t\t@apply rounded-large #{!important};\n\t\t@apply font-semibold leading-4;\n\t\t@apply flex items-center justify-center;\n\t\t@apply cursor-pointer text-base;\n\n\t\twill-change: filter;\n\n\t\t> p-loader {\n\t\t\t@apply ml-2;\n\t\t}\n\n\t\t// Icon positions\n\t\t&.icon-position-end {\n\t\t\t> p-icon:not(.chevron) {\n\t\t\t\t@apply ml-2;\n\t\t\t}\n\t\t}\n\n\t\t&.icon-position-start {\n\t\t\t> p-icon:not(.chevron) {\n\t\t\t\t@apply mr-2;\n\t\t\t}\n\t\t}\n\n\t\t// Variants\n\t\t&.variant-primary,\n\t\t&.variant-secondary {\n\t\t\t@apply px-4 filter;\n\t\t}\n\n\t\t&.variant-primary,\n\t\t&.variant-secondary {\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\t@apply drop-shadow-transparent;\n\t\t\t}\n\t\t}\n\n\t\t&.variant-primary {\n\t\t\t@apply bg-indigo text-white;\n\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\t&:not([disabled]) {\n\t\t\t\t\t@apply bg-indigo-dark;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (pointer: fine) {\n\t\t\t\t&:hover:not([disabled]) {\n\t\t\t\t\t@apply drop-shadow-button-primary-hover;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.variant-secondary {\n\t\t\t@apply border border-solid border-mystic-dark #{!important};\n\t\t\t@apply bg-white text-storm;\n\n\t\t\t&:active,\n\t\t\t&.active {\n\t\t\t\t&:not([disabled]) {\n\t\t\t\t\t@apply bg-mystic;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@media (pointer: fine) {\n\t\t\t\t&:hover:not([disabled]) {\n\t\t\t\t\t@apply drop-shadow-button-secondary-hover;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.variant-text {\n\t\t\t@apply text-indigo;\n\n\t\t\t&.has-underline {\n\t\t\t\t@apply underline underline-offset-1;\n\t\t\t}\n\n\t\t\t&:hover:not([disabled]) {\n\t\t\t\t@apply text-indigo-dark;\n\t\t\t}\n\t\t}\n\n\t\t&[disabled] {\n\t\t\t@apply opacity-40;\n\t\t}\n\n\t\t&.should-inherit-text {\n\t\t\tcolor: inherit #{!important};\n\t\t\tfont-size: inherit #{!important};\n\t\t\tfont-weight: inherit #{!important};\n\t\t}\n\t}\n\n\t// chevron\n\t&.has-chevron {\n\t\ta,\n\t\tbutton {\n\t\t\t&.chevron-position-start {\n\t\t\t\t@apply pl-2;\n\n\t\t\t\t> p-icon.chevron {\n\t\t\t\t\t@apply mr-2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.chevron-position-end {\n\t\t\t\t@apply pr-2;\n\n\t\t\t\t> p-icon.chevron {\n\t\t\t\t\t@apply ml-2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.variant-secondary:hover:not([disabled]) p-icon:last-child {\n\t\t\t\t@apply text-indigo;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.has-icon-only {\n\t\t@apply w-10;\n\n\t\ta,\n\t\tbutton {\n\t\t\t@apply p-0;\n\n\t\t\t> p-icon:first-child {\n\t\t\t\t@apply mx-0;\n\t\t\t}\n\n\t\t\t> p-loader {\n\t\t\t\t@apply ml-0;\n\t\t\t}\n\t\t}\n\n\t\t&.has-chevron {\n\t\t\t@apply w-auto;\n\n\t\t\ta,\n\t\t\tbutton {\n\t\t\t\t&.chevron-position-start {\n\t\t\t\t\t@apply pr-2;\n\t\t\t\t}\n\n\t\t\t\t&.chevron-position-end {\n\t\t\t\t\t@apply pl-2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// sizes\n\t&.size-small {\n\t\t@apply h-8;\n\n\t\tbutton,\n\t\ta {\n\t\t\t@apply text-sm;\n\n\t\t\t> p-icon {\n\t\t\t\t@apply text-base;\n\t\t\t}\n\t\t}\n\n\t\t&.has-icon-only {\n\t\t\t@apply w-8;\n\n\t\t\t&.has-chevron {\n\t\t\t\t@apply w-auto;\n\t\t\t}\n\t\t}\n\t}\n}\n","import {\n\tComponent,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n} from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../icon/icon.component';\n\n@Component({\n\ttag: 'p-button',\n\tstyleUrl: 'button.component.scss',\n\t// shadow: true,\n})\nexport class Button {\n\t/**\n\t * The type of the button\n\t */\n\t@Prop() as: 'a' | 'button' = 'button';\n\n\t/**\n\t * The variant of the button\n\t */\n\t@Prop() variant: 'primary' | 'secondary' | 'text' = 'primary';\n\n\t/**\n\t * Wether the text variant has underline\n\t */\n\t@Prop() underline: boolean = false;\n\n\t/**\n\t * Href in case of \"text\" version\n\t */\n\t@Prop() href: string;\n\n\t/**\n\t * Target in case of \"text\" version\n\t */\n\t@Prop() target: string;\n\n\t/**\n\t * The size of the button\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The type of the button\n\t */\n\t@Prop() type: 'button' | 'submit' = 'button';\n\n\t/**\n\t * Wether to show a loader or not\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show a chevron or not\n\t */\n\t@Prop() chevron: boolean | 'up' | 'down' = false;\n\n\t/**\n\t * Chevron position\n\t */\n\t@Prop() chevronPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Wether the button is disabled\n\t */\n\t@Prop() disabled: boolean = false;\n\n\t/**\n\t * Icon to show on the button\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Wether the button is icon only\n\t */\n\t@Prop() iconOnly: boolean = false;\n\n\t/**\n\t * Icon position\n\t */\n\t@Prop() iconPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Wether the button should inherit text styles\n\t */\n\t@Prop() inheritText: boolean = false;\n\n\t/**\n\t * Button click event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tonClick: EventEmitter<MouseEvent>;\n\n\trender() {\n\t\tlet loaderColor: 'white' | 'storm' | 'indigo' = 'white';\n\t\tswitch (this.variant) {\n\t\t\tcase 'secondary':\n\t\t\t\tloaderColor = 'storm';\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tloaderColor = 'indigo';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst VariableTag =\n\t\t\tthis.variant === 'text' || this.href?.length || this.as === 'a'\n\t\t\t\t? 'a'\n\t\t\t\t: 'button';\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-button size-${this.size} ${\n\t\t\t\t\tthis.iconOnly && 'has-icon-only'\n\t\t\t\t} ${this.chevron && 'has-chevron'}`}\n\t\t\t>\n\t\t\t\t<VariableTag\n\t\t\t\t\tclass={`variant-${this.variant} icon-position-${\n\t\t\t\t\t\tthis.iconPosition\n\t\t\t\t\t} chevron-position-${this.chevronPosition} ${\n\t\t\t\t\t\tthis.inheritText && 'should-inherit-text'\n\t\t\t\t\t} ${this.underline && 'has-underline'}`}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\thref={this.href}\n\t\t\t\t\ttype={this.variant !== 'text' ? this.type : undefined}\n\t\t\t\t\ttarget={this.target}\n\t\t\t\t>\n\t\t\t\t\t{this.chevron && this.chevronPosition === 'start' && (\n\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\tclass='chevron'\n\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\trotate={this.chevron === 'up' ? 180 : 0}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.icon &&\n\t\t\t\t\t\tthis.iconPosition === 'start' &&\n\t\t\t\t\t\t!(this.iconOnly && this.loading) &&\n\t\t\t\t\t\tthis._getIcon()}\n\n\t\t\t\t\t<slot />\n\n\t\t\t\t\t{this.icon &&\n\t\t\t\t\t\tthis.iconPosition === 'end' &&\n\t\t\t\t\t\t!(this.iconOnly && this.loading) &&\n\t\t\t\t\t\tthis._getIcon()}\n\n\t\t\t\t\t{this.loading && <p-loader color={loaderColor} />}\n\n\t\t\t\t\t{this.chevron && this.chevronPosition === 'end' && (\n\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\tclass='chevron'\n\t\t\t\t\t\t\tvariant='chevron'\n\t\t\t\t\t\t\trotate={this.chevron === 'up' ? 180 : 0}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</VariableTag>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { capture: true })\n\thandleClick(ev: MouseEvent) {\n\t\tif (this.loading || this.disabled) {\n\t\t\tev.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onClick.emit(ev);\n\t}\n\n\tprivate _getIcon() {\n\t\tif (!this.icon) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\t<p-icon\n\t\t\t\tvariant={this.icon}\n\t\t\t\tflip={this.iconFlip}\n\t\t\t\trotate={this.iconRotate}\n\t\t\t/>\n\t\t);\n\t}\n}\n",":host {\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions, TextSizeOptions } from '../../../types/tailwind';\nimport icons from '../../../utils/icons';\n\nexport type IconVariant = keyof typeof icons;\nexport type IconFlipOptions = 'horizontal' | 'vertical';\n\n@Component({\n\ttag: 'p-icon',\n\tstyleUrl: 'icon.component.scss',\n\t// shadow: true,\n})\nexport class Icon {\n\t/**\n\t * The icon the be displayed\n\t */\n\t@Prop() variant!: IconVariant;\n\n\t/**\n\t * The size of the icon, using tailwind sizes\n\t */\n\t@Prop() size: TextSizeOptions = 'auto';\n\n\t/**\n\t * Wether to rotate the icon x degrees\n\t */\n\t@Prop() rotate: RotateOptions = 0;\n\n\t/**\n\t * Wether to flip the icon horizontally or vertically\n\t */\n\t@Prop() flip: IconFlipOptions = null;\n\n\trender() {\n\t\tconst icon = icons[this.variant];\n\n\t\tconst styles = {\n\t\t\t'p-icon flex': true,\n\t\t\t'text-auto': this.size === 'auto',\n\t\t\t'text-xxs': this.size === 'xxs',\n\t\t\t'text-xs': this.size === 'xs',\n\t\t\t'text-sm': this.size === 'sm',\n\t\t\t'text-base': this.size === 'base',\n\t\t\t'text-lg': this.size === 'lg',\n\t\t\t'text-xl': this.size === 'xl',\n\t\t\t'text-2xl': this.size === '2xl',\n\t\t\t'text-3xl': this.size === '3xl',\n\t\t\t'text-4xl': this.size === '4xl',\n\t\t\t'text-5xl': this.size === '5xl',\n\t\t\t'text-6xl': this.size === '6xl',\n\t\t\ttransform: !!this.rotate || !!this.flip,\n\t\t\t'scale-x-flip': this.flip === 'horizontal',\n\t\t\t'scale-y-flip': this.flip === 'vertical',\n\t\t\t'rotate-0': this.rotate === 0,\n\t\t\t'rotate-25': this.rotate === 25,\n\t\t\t'rotate-45': this.rotate === 45,\n\t\t\t'rotate-90': this.rotate === 90,\n\t\t\t'rotate-135': this.rotate === 135,\n\t\t\t'rotate-180': this.rotate === 180,\n\t\t\t'rotate-225': this.rotate === 225,\n\t\t\t'rotate-270': this.rotate === 270,\n\t\t\t'rotate-315': this.rotate === 315,\n\t\t\t'-rotate-0': this.rotate === -0,\n\t\t\t'-rotate-25': this.rotate === -25,\n\t\t\t'-rotate-45': this.rotate === -45,\n\t\t\t'-rotate-90': this.rotate === -90,\n\t\t\t'-rotate-135': this.rotate === -135,\n\t\t\t'-rotate-180': this.rotate === -180,\n\t\t\t'-rotate-225': this.rotate === -225,\n\t\t\t'-rotate-270': this.rotate === -270,\n\t\t\t'-rotate-315': this.rotate === -315,\n\t\t};\n\n\t\treturn <Host class={styles} innerHTML={icon}></Host>;\n\t}\n}\n",":host {\n\t.loader {\n\t\t@apply inline-block h-[1em] w-[1em] rounded-round;\n\t\t@apply border-2 border-solid border-indigo-light border-t-indigo;\n\t\tanimation: 500ms spin linear infinite;\n\n\t\twill-change: transform;\n\n\t\t&.color-storm {\n\t\t\t@apply border-storm-light/40 border-t-storm #{!important};\n\t\t}\n\n\t\t&.color-white {\n\t\t\t@apply border-indigo-light/40 border-t-white #{!important};\n\t\t}\n\t}\n\n\t.loading-screen {\n\t\t@apply w-screen-safe h-screen-safe fixed top-0 left-0;\n\t\t@apply flex items-center justify-center;\n\t\t@apply bg-mystic;\n\n\t\tz-index: 1001;\n\n\t\t.content {\n\t\t\t@apply max-w-xs;\n\n\t\t\t.loader-wrapper {\n\t\t\t\t@apply flex w-full justify-center;\n\n\t\t\t\t.loader {\n\t\t\t\t\t@apply text-4xl;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n:host(.variant-ghost) {\n\t@apply box-border block;\n\n\twill-change: background, background-position-x, background-color;\n\n\tmin-height: 1em;\n\tmin-width: 1em;\n\n\t--loading-bg: #f7fafc;\n\t--loading-stripe: rgba(252, 253, 254, 1);\n\n\tbackground-color: var(--loading-bg);\n\tbackground: linear-gradient(\n\t\t\t100deg,\n\t\t\trgba(255, 255, 255, 0) 40%,\n\t\t\tvar(--loading-stripe) 50%,\n\t\t\trgba(255, 255, 255, 0) 60%\n\t\t)\n\t\tvar(--loading-bg);\n\tbackground-size: 200% 100%;\n\tbackground-position-x: 180%;\n\tanimation: 1s loading ease-in-out infinite;\n}\n\n@keyframes loading {\n\tto {\n\t\tbackground-position-x: -20%;\n\t}\n}\n\n@keyframes spin {\n\t100% {\n\t\ttransform: rotate(1turn);\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n\ttag: 'p-loader',\n\tstyleUrl: 'loader.component.scss',\n\tshadow: true,\n})\nexport class Loader {\n\t/**\n\t * Wether to show or hide the loader\n\t */\n\t@Prop() show: boolean | Observable<boolean> = true;\n\n\t/**\n\t * Variant of loader\n\t */\n\t@Prop() variant:\n\t\t| 'inline'\n\t\t| 'full-width'\n\t\t| 'full-screen'\n\t\t| 'modal'\n\t\t| 'ghost' = 'inline';\n\n\t/**\n\t * Color of the loader\n\t */\n\t@Prop() color: 'indigo' | 'white' | 'storm' = 'indigo';\n\n\t/**\n\t * !NOT IMPLEMENTED! Modal title for modal variant\n\t */\n\t@Prop() modalTitle: string;\n\n\t/**\n\t * !NOT IMPLEMENTED! Modal description for modal variant\n\t */\n\t@Prop() modalDescription: string;\n\n\tprivate _show = this.show;\n\tprivate _showSubscriber: Subscription;\n\n\tprivate _loader = (<div class={`loader color-${this.color}`}></div>);\n\n\tcomponentWillRender() {\n\t\tthis._checkShow();\n\t}\n\n\tcomponentShouldUpdate() {\n\t\tthis._checkShow();\n\t}\n\n\trender() {\n\t\tif (!this._show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.variant === 'ghost') {\n\t\t\treturn <Host class=\"p-loader variant-ghost\"></Host>;\n\t\t}\n\n\t\tif (this.variant === 'full-screen') {\n\t\t\treturn (\n\t\t\t\t<Host class=\"p-loader variant-full-screen\">\n\t\t\t\t\t<div class=\"loading-screen\">\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\n\t\t\t\t\t\t\t<div class=\"loader-wrapper\">{this._loader}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Host>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-loader variant-default flex ${\n\t\t\t\t\tthis.variant === 'full-width' &&\n\t\t\t\t\t'w-full flex justify-center text-4xl'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{this._loader}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _checkShow() {\n\t\tif (this._showSubscriber) {\n\t\t\tthis._showSubscriber.unsubscribe();\n\t\t\tthis._showSubscriber = null;\n\t\t}\n\n\t\tif (typeof this.show !== 'boolean') {\n\t\t\tthis._showSubscriber = this.show?.subscribe(\n\t\t\t\t(show) => (this._show = show)\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show = this.show;\n\t}\n}\n"],"mappings":"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"}