@lukso/web-components 1.186.0 → 1.188.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 (106) hide show
  1. package/dist/components/lukso-alert/index.cjs +9 -1
  2. package/dist/components/lukso-alert/index.d.ts +4 -0
  3. package/dist/components/lukso-alert/index.d.ts.map +1 -1
  4. package/dist/components/lukso-alert/index.js +9 -1
  5. package/dist/components/lukso-alert/lukso-alert.stories.d.ts +7 -0
  6. package/dist/components/lukso-alert/lukso-alert.stories.d.ts.map +1 -1
  7. package/dist/components/lukso-alert/style.css.cjs +1 -1
  8. package/dist/components/lukso-alert/style.css.js +1 -1
  9. package/dist/components/lukso-button/index.d.ts +6 -0
  10. package/dist/components/lukso-button/index.d.ts.map +1 -1
  11. package/dist/components/lukso-card/index.d.ts +7 -0
  12. package/dist/components/lukso-card/index.d.ts.map +1 -1
  13. package/dist/components/lukso-checkbox/index.d.ts +5 -0
  14. package/dist/components/lukso-checkbox/index.d.ts.map +1 -1
  15. package/dist/components/lukso-collapse/index.d.ts +5 -0
  16. package/dist/components/lukso-collapse/index.d.ts.map +1 -1
  17. package/dist/components/lukso-color-picker/index.d.ts +3 -0
  18. package/dist/components/lukso-color-picker/index.d.ts.map +1 -1
  19. package/dist/components/lukso-dropdown/index.d.ts +5 -0
  20. package/dist/components/lukso-dropdown/index.d.ts.map +1 -1
  21. package/dist/components/lukso-dropdown-option/index.d.ts +5 -0
  22. package/dist/components/lukso-dropdown-option/index.d.ts.map +1 -1
  23. package/dist/components/lukso-footer/index.d.ts +5 -0
  24. package/dist/components/lukso-footer/index.d.ts.map +1 -1
  25. package/dist/components/lukso-form-description/index.d.ts +3 -0
  26. package/dist/components/lukso-form-description/index.d.ts.map +1 -1
  27. package/dist/components/lukso-form-error/index.d.ts +3 -0
  28. package/dist/components/lukso-form-error/index.d.ts.map +1 -1
  29. package/dist/components/lukso-form-label/index.d.ts +3 -0
  30. package/dist/components/lukso-form-label/index.d.ts.map +1 -1
  31. package/dist/components/lukso-icon/index.d.ts +3 -0
  32. package/dist/components/lukso-icon/index.d.ts.map +1 -1
  33. package/dist/components/lukso-image/index.d.ts +3 -0
  34. package/dist/components/lukso-image/index.d.ts.map +1 -1
  35. package/dist/components/lukso-input/index.cjs +51 -0
  36. package/dist/components/lukso-input/index.d.ts +10 -0
  37. package/dist/components/lukso-input/index.d.ts.map +1 -1
  38. package/dist/components/lukso-input/index.js +51 -0
  39. package/dist/components/lukso-input/lukso-input.stories.d.ts +2 -0
  40. package/dist/components/lukso-input/lukso-input.stories.d.ts.map +1 -1
  41. package/dist/components/lukso-input/rules.cjs +38 -0
  42. package/dist/components/lukso-input/rules.d.ts +50 -0
  43. package/dist/components/lukso-input/rules.d.ts.map +1 -0
  44. package/dist/components/lukso-input/rules.js +30 -0
  45. package/dist/components/lukso-markdown/index.d.ts +3 -0
  46. package/dist/components/lukso-markdown/index.d.ts.map +1 -1
  47. package/dist/components/lukso-markdown-editor/index.cjs +0 -1
  48. package/dist/components/lukso-markdown-editor/index.d.ts +4 -1
  49. package/dist/components/lukso-markdown-editor/index.d.ts.map +1 -1
  50. package/dist/components/lukso-markdown-editor/index.js +0 -1
  51. package/dist/components/lukso-modal/index.d.ts +6 -0
  52. package/dist/components/lukso-modal/index.d.ts.map +1 -1
  53. package/dist/components/lukso-navbar/index.d.ts +8 -0
  54. package/dist/components/lukso-navbar/index.d.ts.map +1 -1
  55. package/dist/components/lukso-pagination/index.d.ts +3 -0
  56. package/dist/components/lukso-pagination/index.d.ts.map +1 -1
  57. package/dist/components/lukso-profile/index.d.ts +3 -0
  58. package/dist/components/lukso-profile/index.d.ts.map +1 -1
  59. package/dist/components/lukso-progress/index.d.ts +3 -0
  60. package/dist/components/lukso-progress/index.d.ts.map +1 -1
  61. package/dist/components/lukso-qr-code/index.d.ts +5 -0
  62. package/dist/components/lukso-qr-code/index.d.ts.map +1 -1
  63. package/dist/components/lukso-radio/index.d.ts +5 -0
  64. package/dist/components/lukso-radio/index.d.ts.map +1 -1
  65. package/dist/components/lukso-radio-group/index.d.ts +5 -0
  66. package/dist/components/lukso-radio-group/index.d.ts.map +1 -1
  67. package/dist/components/lukso-sanitize/index.d.ts +3 -0
  68. package/dist/components/lukso-sanitize/index.d.ts.map +1 -1
  69. package/dist/components/lukso-search/index.d.ts +3 -0
  70. package/dist/components/lukso-search/index.d.ts.map +1 -1
  71. package/dist/components/lukso-select/index.d.ts +3 -0
  72. package/dist/components/lukso-select/index.d.ts.map +1 -1
  73. package/dist/components/lukso-share/index.d.ts +3 -0
  74. package/dist/components/lukso-share/index.d.ts.map +1 -1
  75. package/dist/components/lukso-switch/index.d.ts +3 -0
  76. package/dist/components/lukso-switch/index.d.ts.map +1 -1
  77. package/dist/components/lukso-tag/index.d.ts +5 -0
  78. package/dist/components/lukso-tag/index.d.ts.map +1 -1
  79. package/dist/components/lukso-terms/index.d.ts +3 -0
  80. package/dist/components/lukso-terms/index.d.ts.map +1 -1
  81. package/dist/components/lukso-textarea/index.d.ts +4 -0
  82. package/dist/components/lukso-textarea/index.d.ts.map +1 -1
  83. package/dist/components/lukso-tooltip/index.d.ts +7 -0
  84. package/dist/components/lukso-tooltip/index.d.ts.map +1 -1
  85. package/dist/components/lukso-username/index.d.ts +3 -0
  86. package/dist/components/lukso-username/index.d.ts.map +1 -1
  87. package/dist/components/lukso-wizard/index.d.ts +3 -0
  88. package/dist/components/lukso-wizard/index.d.ts.map +1 -1
  89. package/dist/docs/Typography.stories.d.ts.map +1 -1
  90. package/dist/scripts/generate-llm-docs.d.ts +10 -0
  91. package/dist/scripts/generate-llm-docs.d.ts.map +1 -0
  92. package/dist/scripts/generate-styles.d.ts +12 -0
  93. package/dist/scripts/generate-styles.d.ts.map +1 -0
  94. package/dist/scripts/llm/cem.d.ts +60 -0
  95. package/dist/scripts/llm/cem.d.ts.map +1 -0
  96. package/dist/scripts/llm/component-doc.d.ts +28 -0
  97. package/dist/scripts/llm/component-doc.d.ts.map +1 -0
  98. package/dist/scripts/llm/stories.d.ts +14 -0
  99. package/dist/scripts/llm/stories.d.ts.map +1 -0
  100. package/dist/scripts/llm/tailwind.d.ts +26 -0
  101. package/dist/scripts/llm/tailwind.d.ts.map +1 -0
  102. package/dist/scripts/llm/utils.d.ts +12 -0
  103. package/dist/scripts/llm/utils.d.ts.map +1 -0
  104. package/dist/shared/tailwind-element/style.css.cjs +1 -1
  105. package/dist/shared/tailwind-element/style.css.js +1 -1
  106. package/package.json +1 -1
@@ -28,6 +28,7 @@ exports.LuksoAlert = class LuksoAlert extends index.TailwindStyledElement(style)
28
28
  this.hasIcon = false;
29
29
  this.title = "";
30
30
  this.description = "";
31
+ this.isFullWidth = false;
31
32
  this.styles = tailwindVariants.tv({
32
33
  base: "rounded-8 p-4 flex gap-3 items-center",
33
34
  variants: {
@@ -36,6 +37,9 @@ exports.LuksoAlert = class LuksoAlert extends index.TailwindStyledElement(style)
36
37
  warning: "bg-honey-92 text-yellow-25",
37
38
  error: "bg-red-95 text-red-55",
38
39
  success: "bg-green-95 text-green-45"
40
+ },
41
+ isFullWidth: {
42
+ true: "w-full"
39
43
  }
40
44
  }
41
45
  });
@@ -54,7 +58,8 @@ exports.LuksoAlert = class LuksoAlert extends index.TailwindStyledElement(style)
54
58
  }
55
59
  render() {
56
60
  const styles = this.styles({
57
- variant: this.variant
61
+ variant: this.variant,
62
+ isFullWidth: this.isFullWidth
58
63
  });
59
64
  return lit.html`
60
65
  <div class=${styles}>
@@ -86,6 +91,9 @@ __decorateClass([
86
91
  __decorateClass([
87
92
  decorators_js.property({ type: String })
88
93
  ], exports.LuksoAlert.prototype, "description", 2);
94
+ __decorateClass([
95
+ decorators_js.property({ type: Boolean, attribute: "is-full-width", reflect: true })
96
+ ], exports.LuksoAlert.prototype, "isFullWidth", 2);
89
97
  exports.LuksoAlert = __decorateClass([
90
98
  safeCustomElement.safeCustomElement("lukso-alert")
91
99
  ], exports.LuksoAlert);
@@ -1,10 +1,14 @@
1
1
  export type AlertVariant = 'info' | 'warning' | 'error' | 'success';
2
2
  declare const LuksoAlert_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A non-interactive alert banner for displaying informational, warning, error, or success messages.
5
+ */
3
6
  export declare class LuksoAlert extends LuksoAlert_base {
4
7
  variant: AlertVariant | undefined;
5
8
  hasIcon: boolean;
6
9
  title: string | undefined;
7
10
  description: string | undefined;
11
+ isFullWidth: boolean;
8
12
  private styles;
9
13
  private get icon();
10
14
  render(): import('lit-html').TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-alert/index.ts"],"names":[],"mappings":"AAMA,OAAO,yBAAyB,CAAA;AAChC,OAAO,6BAA6B,CAAA;AAGpC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;;AAEnE,qBACa,UAAW,SAAQ,eAA4B;IAE1D,OAAO,EAAE,YAAY,GAAG,SAAS,CAAS;IAG1C,OAAO,UAAQ;IAGf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAEpC,OAAO,CAAC,MAAM,CAUZ;IAEF,OAAO,KAAK,IAAI,GAWf;IAED,MAAM;CA4BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-alert/index.ts"],"names":[],"mappings":"AAMA,OAAO,yBAAyB,CAAA;AAChC,OAAO,6BAA6B,CAAA;AAGpC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;;AAEnE;;GAEG;AACH,qBACa,UAAW,SAAQ,eAA4B;IAE1D,OAAO,EAAE,YAAY,GAAG,SAAS,CAAS;IAG1C,OAAO,UAAQ;IAGf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,WAAW,UAAQ;IAEnB,OAAO,CAAC,MAAM,CAaZ;IAEF,OAAO,KAAK,IAAI,GAWf;IAED,MAAM;CA6BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
@@ -24,6 +24,7 @@ let LuksoAlert = class extends TailwindStyledElement(style) {
24
24
  this.hasIcon = false;
25
25
  this.title = "";
26
26
  this.description = "";
27
+ this.isFullWidth = false;
27
28
  this.styles = tv({
28
29
  base: "rounded-8 p-4 flex gap-3 items-center",
29
30
  variants: {
@@ -32,6 +33,9 @@ let LuksoAlert = class extends TailwindStyledElement(style) {
32
33
  warning: "bg-honey-92 text-yellow-25",
33
34
  error: "bg-red-95 text-red-55",
34
35
  success: "bg-green-95 text-green-45"
36
+ },
37
+ isFullWidth: {
38
+ true: "w-full"
35
39
  }
36
40
  }
37
41
  });
@@ -50,7 +54,8 @@ let LuksoAlert = class extends TailwindStyledElement(style) {
50
54
  }
51
55
  render() {
52
56
  const styles = this.styles({
53
- variant: this.variant
57
+ variant: this.variant,
58
+ isFullWidth: this.isFullWidth
54
59
  });
55
60
  return html`
56
61
  <div class=${styles}>
@@ -82,6 +87,9 @@ __decorateClass([
82
87
  __decorateClass([
83
88
  property({ type: String })
84
89
  ], LuksoAlert.prototype, "description", 2);
90
+ __decorateClass([
91
+ property({ type: Boolean, attribute: "is-full-width", reflect: true })
92
+ ], LuksoAlert.prototype, "isFullWidth", 2);
85
93
  LuksoAlert = __decorateClass([
86
94
  safeCustomElement("lukso-alert")
87
95
  ], LuksoAlert);
@@ -2,9 +2,16 @@ import { Meta } from '@storybook/web-components-vite';
2
2
  /** Documentation and examples of `lukso-alert` component. */
3
3
  declare const meta: Meta;
4
4
  export default meta;
5
+ /** Example of `info` alert. */
5
6
  export declare const InfoAlert: any;
7
+ /** Example of `warning` alert. */
6
8
  export declare const WarningAlert: any;
9
+ /** Example of `error` alert. */
7
10
  export declare const ErrorAlert: any;
11
+ /** Example of `success` alert. */
8
12
  export declare const SuccessAlert: any;
13
+ /** Example of alert without icon. */
9
14
  export declare const AlertWithoutIcon: any;
15
+ /** Example of a full-width alert. */
16
+ export declare const FullWidthAlert: any;
10
17
  //# sourceMappingURL=lukso-alert.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lukso-alert.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-alert/lukso-alert.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,SAAS,CAAA;AAEhB,8DAA8D;AAC9D,QAAA,MAAM,IAAI,EAAE,IA4DX,CAAA;AAED,eAAe,IAAI,CAAA;AAUnB,eAAO,MAAM,SAAS,KAAoB,CAAA;AAK1C,eAAO,MAAM,YAAY,KAAoB,CAAA;AAM7C,eAAO,MAAM,UAAU,KAAoB,CAAA;AAM3C,eAAO,MAAM,YAAY,KAAoB,CAAA;AAM7C,eAAO,MAAM,gBAAgB,KAAoB,CAAA"}
1
+ {"version":3,"file":"lukso-alert.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-alert/lukso-alert.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,SAAS,CAAA;AAEhB,8DAA8D;AAC9D,QAAA,MAAM,IAAI,EAAE,IA0EX,CAAA;AAED,eAAe,IAAI,CAAA;AAWnB,gCAAgC;AAChC,eAAO,MAAM,SAAS,KAAoB,CAAA;AAK1C,mCAAmC;AACnC,eAAO,MAAM,YAAY,KAAoB,CAAA;AAM7C,iCAAiC;AACjC,eAAO,MAAM,UAAU,KAAoB,CAAA;AAM3C,mCAAmC;AACnC,eAAO,MAAM,YAAY,KAAoB,CAAA;AAM7C,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,KAAoB,CAAA;AAKjD,qCAAqC;AACrC,eAAO,MAAM,cAAc,KAAoB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const style = "/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n:host {\n display: flex;\n}\n";
3
+ const style = "/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n:host {\n display: flex;\n}\n\n:host([is-full-width]) {\n width: 100%;\n}\n";
4
4
 
5
5
  module.exports = style;
@@ -1,3 +1,3 @@
1
- const style = "/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n:host {\n display: flex;\n}\n";
1
+ const style = "/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n:host {\n display: flex;\n}\n\n:host([is-full-width]) {\n width: 100%;\n}\n";
2
2
 
3
3
  export { style as default };
@@ -3,6 +3,12 @@ export type ButtonVariant = 'primary' | 'secondary' | 'landing' | 'text' | 'nav-
3
3
  export type ButtonType = 'submit' | 'reset' | 'button';
4
4
  export type LinkTarget = '_blank' | '_self' | '_parent' | '_top';
5
5
  declare const LuksoButton_base: import('@lukso/core').ThemeMixinConstructor<typeof import('lit').LitElement>;
6
+ /**
7
+ * A versatile button component supporting multiple visual variants, sizes, loading state, long-press, and link mode.
8
+ *
9
+ * Long press is only supported for `primary` and `landing` variants.
10
+ * When `is-link` is set, renders as an `<a>` tag.
11
+ */
6
12
  export declare class LuksoButton extends LuksoButton_base {
7
13
  variant: ButtonVariant;
8
14
  size: InputSize;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-button/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,YAAY,GACZ,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,CAAA;AACb,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;;AAIhE,qBACa,WAAY,SAAQ,gBAAuC;IAEtE,OAAO,EAAE,aAAa,CAAY;IAGlC,IAAI,EAAE,SAAS,CAAU;IAGzB,QAAQ,UAAQ;IAGhB,WAAW,UAAQ;IAGnB,WAAW,UAAQ;IAGnB,MAAM,UAAQ;IAGd,SAAS,UAAQ;IAGjB,IAAI,EAAE,UAAU,CAAW;IAG3B,IAAI,SAAK;IAGT,MAAM,EAAE,UAAU,CAAW;IAG7B,GAAG,SAAK;IAGR,WAAW,SAAK;IAGhB,WAAW,SAAK;IAGhB,QAAQ,UAAQ;IAGhB,KAAK,SAAK;IAGV,MAAM,UAAQ;IAGd,KAAK,SAAK;IAGV,OAAO,CAAC,SAAS,CAAQ;IAGzB,OAAO,CAAC,YAAY,CAAQ;IAG5B,OAAO,CAAC,KAAK,CAAI;IAEjB,OAAO,CAAC,aAAa,CAOnB;IAEF,OAAO,CAAC,YAAY,CAqHlB;IAEF,OAAO,CAAC,aAAa,CAqBnB;IAEF,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,aAAa;IAiBrB,eAAe;IAmBf,eAAe;IAQf,cAAc;IA+Bd,YAAY;IAwBZ,MAAM;CAGP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAA;KAC5B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-button/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,YAAY,GACZ,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,CAAA;AACb,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;;AAIhE;;;;;GAKG;AACH,qBACa,WAAY,SAAQ,gBAAuC;IAEtE,OAAO,EAAE,aAAa,CAAY;IAGlC,IAAI,EAAE,SAAS,CAAU;IAGzB,QAAQ,UAAQ;IAGhB,WAAW,UAAQ;IAGnB,WAAW,UAAQ;IAGnB,MAAM,UAAQ;IAGd,SAAS,UAAQ;IAGjB,IAAI,EAAE,UAAU,CAAW;IAG3B,IAAI,SAAK;IAGT,MAAM,EAAE,UAAU,CAAW;IAG7B,GAAG,SAAK;IAGR,WAAW,SAAK;IAGhB,WAAW,SAAK;IAGhB,QAAQ,UAAQ;IAGhB,KAAK,SAAK;IAGV,MAAM,UAAQ;IAGd,KAAK,SAAK;IAGV,OAAO,CAAC,SAAS,CAAQ;IAGzB,OAAO,CAAC,YAAY,CAAQ;IAG5B,OAAO,CAAC,KAAK,CAAI;IAEjB,OAAO,CAAC,aAAa,CAOnB;IAEF,OAAO,CAAC,YAAY,CAqHlB;IAEF,OAAO,CAAC,aAAa,CAqBnB;IAEF,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,aAAa;IAiBrB,eAAe;IAmBf,eAAe;IAQf,cAAc;IA+Bd,YAAY;IAwBZ,MAAM;CAGP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAA;KAC5B;CACF"}
@@ -2,6 +2,13 @@ export type CardVariants = 'basic' | 'with-header' | 'profile' | 'profile-2' | '
2
2
  export type CardBorderRadius = 'small' | 'medium' | 'none';
3
3
  export type CardShadows = 'small' | 'medium' | 'large';
4
4
  declare const LuksoCard_base: typeof import('lit').LitElement;
5
+ /**
6
+ * A card container with multiple layout variants for different content types including basic, header, profile, hero, and dapp layouts.
7
+ *
8
+ * @slot content - Main card body content.
9
+ * @slot header - Header area (not available on `basic` variant).
10
+ * @slot bottom - Bottom section (only `profile-2` variant).
11
+ */
5
12
  export declare class LuksoCard extends LuksoCard_base {
6
13
  variant: CardVariants;
7
14
  backgroundUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-card/index.ts"],"names":[],"mappings":"AASA,OAAO,4BAA4B,CAAA;AAGnC,OAAO,0BAA0B,CAAA;AAGjC,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,aAAa,GACb,SAAS,GACT,WAAW,GACX,MAAM,GACN,MAAM,GACN,WAAW,CAAA;AAEf,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE1D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;;AAEtD,qBACa,SAAU,SAAQ,cAA4B;IAEzD,OAAO,EAAE,YAAY,CAAU;IAG/B,aAAa,SAAK;IAGlB,UAAU,SAAK;IAGf,cAAc,SAAK;IAGnB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAGzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAG1B,WAAW,SAAK;IAGhB,WAAW,SAAK;IAGhB,YAAY,EAAE,gBAAgB,CAAW;IAGzC,MAAM,EAAE,WAAW,CAAU;IAG7B,WAAW,UAAQ;IAGnB,UAAU,UAAQ;IAGlB,KAAK,UAAQ;IAGb,OAAO,CAAC,WAAW,CAAyB;IAG5C,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU,CAqChB;IAEF,aAAa;IAsBb,kBAAkB;IA8BlB,eAAe;IAuEf,gBAAgB;IA0EhB,gBAAgB;IA4DhB,YAAY;IAyCZ,YAAY;IA4CZ,MAAM;CAkBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAA;KACxB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-card/index.ts"],"names":[],"mappings":"AASA,OAAO,4BAA4B,CAAA;AAGnC,OAAO,0BAA0B,CAAA;AAGjC,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,aAAa,GACb,SAAS,GACT,WAAW,GACX,MAAM,GACN,MAAM,GACN,WAAW,CAAA;AAEf,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE1D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;;AAEtD;;;;;;GAMG;AACH,qBACa,SAAU,SAAQ,cAA4B;IAEzD,OAAO,EAAE,YAAY,CAAU;IAG/B,aAAa,SAAK;IAGlB,UAAU,SAAK;IAGf,cAAc,SAAK;IAGnB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAGzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAG1B,WAAW,SAAK;IAGhB,WAAW,SAAK;IAGhB,YAAY,EAAE,gBAAgB,CAAW;IAGzC,MAAM,EAAE,WAAW,CAAU;IAG7B,WAAW,UAAQ;IAGnB,UAAU,UAAQ;IAGlB,KAAK,UAAQ;IAGb,OAAO,CAAC,WAAW,CAAyB;IAG5C,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU,CAqChB;IAEF,aAAa;IAsBb,kBAAkB;IA8BlB,eAAe;IAuEf,gBAAgB;IA0EhB,gBAAgB;IA4DhB,YAAY;IAyCZ,YAAY;IA4CZ,MAAM;CAkBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAA;KACxB;CACF"}
@@ -1,6 +1,11 @@
1
1
  import { TailwindElement } from '../../shared/tailwind-element';
2
2
  export type CheckboxSize = 'x-small' | 'small' | 'medium';
3
3
  export type CheckboxType = 'text' | 'profile';
4
+ /**
5
+ * A styled checkbox with optional label, description, and error state.
6
+ *
7
+ * @slot - Label text (type=text) or profile content (type=profile).
8
+ */
4
9
  export declare class LuksoCheckbox extends TailwindElement {
5
10
  name: string | undefined;
6
11
  id: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-checkbox/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAEtC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7C,qBACa,aAAc,SAAQ,eAAe;IAEhD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAK;IAG7B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAK;IAG3B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAK;IAG5B,IAAI,EAAE,YAAY,CAAS;IAG3B,IAAI,EAAE,YAAY,CAAW;IAG7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,OAAO,EAAE,OAAO,CAAQ;IAGxB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,sBAAsB,CAG3B;IAEH,OAAO,CAAC,kBAAkB,CAKvB;IAEH,OAAO,CAAC,kBAAkB,CAEvB;IAEH,OAAO,CAAC,qBAAqB,CAKkD;IAE/E,mBAAmB,IAAI,OAAO;IAY9B,gBAAgB,IAAI,OAAO;IAqB3B,aAAa;IAqBb,aAAa;IAiBb,uBAAuB;IAQvB,MAAM;YAyBQ,YAAY;IAkB1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;CAKvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-checkbox/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAEtC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AACzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAA;AAE7C;;;;GAIG;AACH,qBACa,aAAc,SAAQ,eAAe;IAEhD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAK;IAG7B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAK;IAG3B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAK;IAG5B,IAAI,EAAE,YAAY,CAAS;IAG3B,IAAI,EAAE,YAAY,CAAW;IAG7B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,OAAO,EAAE,OAAO,CAAQ;IAGxB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,sBAAsB,CAG3B;IAEH,OAAO,CAAC,kBAAkB,CAKvB;IAEH,OAAO,CAAC,kBAAkB,CAEvB;IAEH,OAAO,CAAC,qBAAqB,CAKkD;IAE/E,mBAAmB,IAAI,OAAO;IAY9B,gBAAgB,IAAI,OAAO;IAqB3B,aAAa;IAqBb,aAAa;IAiBb,uBAAuB;IAQvB,MAAM;YAyBQ,YAAY;IAkB1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;CAKvB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
@@ -1,5 +1,10 @@
1
1
  import { TailwindElement } from '../../shared/tailwind-element';
2
2
  import { InputSize } from '../../shared/types';
3
+ /**
4
+ * An animated accordion/collapsible panel with a clickable header trigger and smooth height transition.
5
+ *
6
+ * @slot - Collapsible body content.
7
+ */
3
8
  export declare class LuksoCollapse extends TailwindElement {
4
9
  label: string | undefined;
5
10
  description: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-collapse/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,yBAAyB,CAAA;AAChC,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,qBACa,aAAc,SAAQ,eAAe;IAEhD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAK;IAGrC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAG3C;IAGD,MAAM,UAAQ;IAGd,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,UAAU,UAAQ;IAGlB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAK;IAG7B,IAAI,EAAE,SAAS,CAAU;IAEhB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAI;IAEP,OAAO,CAAC,cAAc,CAAc;IAChE,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,YAAY;IAQZ,oBAAoB,IAAI,IAAI;IAK5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,eAAe,CAKtB;IAED,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,cAAc,CA+EpB;IAEF,MAAM;CAsDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-collapse/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,yBAAyB,CAAA;AAChC,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C;;;;GAIG;AACH,qBACa,aAAc,SAAQ,eAAe;IAEhD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAK;IAGrC,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAG3C;IAGD,MAAM,UAAQ;IAGd,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,UAAU,UAAQ;IAGlB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAK;IAG7B,IAAI,EAAE,SAAS,CAAU;IAEhB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAI;IAEP,OAAO,CAAC,cAAc,CAAc;IAChE,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,YAAY;IAQZ,oBAAoB,IAAI,IAAI;IAK5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,eAAe,CAKtB;IAED,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,cAAc,CA+EpB;IAEF,MAAM;CAsDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
@@ -1,5 +1,8 @@
1
1
  import { InputSize } from '../../shared/types';
2
2
  declare const LuksoColorPicker_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A color picker input combining a native color swatch with a hex text field, kept in sync.
5
+ */
3
6
  export declare class LuksoColorPicker extends LuksoColorPicker_base {
4
7
  value: string | undefined;
5
8
  name: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-color-picker/index.ts"],"names":[],"mappings":"AAQA,OAAO,yBAAyB,CAAA;AAChC,OAAO,6BAA6B,CAAA;AACpC,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;AAI/C,qBACa,gBAAiB,SAAQ,qBAA4B;IAEhE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAK;IAG7B,WAAW,SAAY;IAGvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAK;IAG3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,WAAW,UAAQ;IAGnB,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,SAAS,UAAQ;IAGjB,iBAAiB,UAAQ;IAGzB,IAAI,EAAE,SAAS,CAAW;IAG1B,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,MAAM,CA8FZ;IAEF,iBAAiB;IAajB,aAAa,CAAC,MAAM,EAAE,MAAM;IAwB5B,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAiB5D,OAAO,CAAC,WAAW;YAOL,UAAU;YAgBV,YAAY;YAcZ,WAAW;YAeX,WAAW;YAmBX,aAAa;IAe3B,MAAM;CA2BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAA;KACvC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-color-picker/index.ts"],"names":[],"mappings":"AAQA,OAAO,yBAAyB,CAAA;AAChC,OAAO,6BAA6B,CAAA;AACpC,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;AAI/C;;GAEG;AACH,qBACa,gBAAiB,SAAQ,qBAA4B;IAEhE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAK;IAG7B,WAAW,SAAY;IAGvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAK;IAG3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAK;IAGpC,WAAW,UAAQ;IAGnB,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,SAAS,UAAQ;IAGjB,iBAAiB,UAAQ;IAGzB,IAAI,EAAE,SAAS,CAAW;IAG1B,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,MAAM,CA8FZ;IAEF,iBAAiB;IAajB,aAAa,CAAC,MAAM,EAAE,MAAM;IAwB5B,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;IAiB5D,OAAO,CAAC,WAAW;YAOL,UAAU;YAgBV,YAAY;YAcZ,WAAW;YAeX,WAAW;YAmBX,aAAa;IAe3B,MAAM;CA2BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAA;KACvC;CACF"}
@@ -5,6 +5,11 @@ export type LuksoDropdownOnChangeEventDetail = {
5
5
  };
6
6
  export type LuksoDropdownTrigger = 'click' | 'hover';
7
7
  declare const LuksoDropdown_base: typeof import('lit').LitElement;
8
+ /**
9
+ * A floating dropdown panel that positions absolutely relative to its trigger element.
10
+ *
11
+ * @slot - Dropdown content, typically `lukso-dropdown-option` elements.
12
+ */
8
13
  export declare class LuksoDropdown extends LuksoDropdown_base {
9
14
  id: string;
10
15
  triggerId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAKxD,OAAO,yBAAyB,CAAA;AAChC,OAAO,4BAA4B,CAAA;AACnC,OAAO,6BAA6B,CAAA;AAOpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,OAAO,CAAA;;AAEpD,qBACa,aAAc,SAAQ,kBAA4B;IAE7D,EAAE,SAAK;IAGP,SAAS,SAAK;IAGd,MAAM,UAAQ;IAGd,oBAAoB,UAAQ;IAG5B,OAAO,UAAQ;IAGf,OAAO,UAAQ;IAGf,WAAW,UAAQ;IAGnB,IAAI,EAAE,SAAS,CAAU;IAGzB,OAAO,EAAE,oBAAoB,CAAU;IAGvC,SAAS,MAAY;IAGrB,WAAW,SAAK;IAEhB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;;IAUjD,OAAO,CAAC,MAAM,CAwEZ;IAEF,OAAO,CAAC,gBAAgB,CAEvB;IAED,OAAO,CAAC,gBAAgB,CASvB;IAED,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAiB/C,iBAAiB;IAgBjB,oBAAoB;IAgBd,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAiBxD,OAAO,CAAC,WAAW,CAmBjB;IAEF,MAAM;CAsBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAKxD,OAAO,yBAAyB,CAAA;AAChC,OAAO,4BAA4B,CAAA;AACnC,OAAO,6BAA6B,CAAA;AAOpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,OAAO,CAAA;;AAEpD;;;;GAIG;AACH,qBACa,aAAc,SAAQ,kBAA4B;IAE7D,EAAE,SAAK;IAGP,SAAS,SAAK;IAGd,MAAM,UAAQ;IAGd,oBAAoB,UAAQ;IAG5B,OAAO,UAAQ;IAGf,OAAO,UAAQ;IAGf,WAAW,UAAQ;IAGnB,IAAI,EAAE,SAAS,CAAU;IAGzB,OAAO,EAAE,oBAAoB,CAAU;IAGvC,SAAS,MAAY;IAGrB,WAAW,SAAK;IAEhB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;;IAUjD,OAAO,CAAC,MAAM,CAwEZ;IAEF,OAAO,CAAC,gBAAgB,CAEvB;IAED,OAAO,CAAC,gBAAgB,CASvB;IAED,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAiB/C,iBAAiB;IAgBjB,oBAAoB;IAgBd,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAiBxD,OAAO,CAAC,WAAW,CAmBjB;IAEF,MAAM;CAsBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
@@ -1,5 +1,10 @@
1
1
  import { InputSize } from '../../shared/types';
2
2
  declare const LuksoDropdownOption_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A single option row inside a `lukso-dropdown`. Does not emit its own events — parent handles clicks.
5
+ *
6
+ * @slot - Option label content (text, icons, profile elements, etc.).
7
+ */
3
8
  export declare class LuksoDropdownOption extends LuksoDropdownOption_base {
4
9
  isReadonly: boolean;
5
10
  isDisabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-dropdown-option/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;AAE/C,qBACa,mBAAoB,SAAQ,wBAA4B;IAEnE,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,QAAQ,UAAQ;IAGhB,OAAO,UAAQ;IAGf,IAAI,EAAE,SAAS,CAAU;IAEzB,OAAO,CAAC,MAAM,CAiDZ;IAEF,MAAM;CAcP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAA;KAC7C;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-dropdown-option/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;AAE/C;;;;GAIG;AACH,qBACa,mBAAoB,SAAQ,wBAA4B;IAEnE,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,QAAQ,UAAQ;IAGhB,OAAO,UAAQ;IAGf,IAAI,EAAE,SAAS,CAAU;IAEzB,OAAO,CAAC,MAAM,CAiDZ;IAEF,MAAM;CAcP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAA;KAC7C;CACF"}
@@ -1,4 +1,9 @@
1
1
  import { TailwindElement } from '../../shared/tailwind-element';
2
+ /**
3
+ * A page footer with social share links and a "Powered by LUKSO" logo.
4
+ *
5
+ * @slot links - Navigation links area (left side of the footer).
6
+ */
2
7
  export declare class LuksoFooter extends TailwindElement {
3
8
  providers: string;
4
9
  private defaultProviders;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D,qBACa,WAAY,SAAQ,eAAe;IAE9C,SAAS,SAAK;IAEd,OAAO,CAAC,gBAAgB,CASvB;IAED,MAAM;CAwCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAA;KAC5B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAI3D;;;;GAIG;AACH,qBACa,WAAY,SAAQ,eAAe;IAE9C,SAAS,SAAK;IAEd,OAAO,CAAC,gBAAgB,CASvB;IAED,MAAM;CAwCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAA;KAC5B;CACF"}
@@ -1,5 +1,8 @@
1
1
  import { nothing } from 'lit';
2
2
  declare const LuksoFormDescription_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A small description text block rendered below a form label. Used internally by form components.
5
+ */
3
6
  export declare class LuksoFormDescription extends LuksoFormDescription_base {
4
7
  description: string;
5
8
  render(): import('lit-html').TemplateResult<1> | typeof nothing;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-form-description/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;;AAOnC,qBACa,oBAAqB,SAAQ,yBAA4B;IAEpE,WAAW,EAAE,MAAM,CAAA;IAEnB,MAAM;CAUP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,wBAAwB,EAAE,oBAAoB,CAAA;KAC/C;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-form-description/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;;AAOnC;;GAEG;AACH,qBACa,oBAAqB,SAAQ,yBAA4B;IAEpE,WAAW,EAAE,MAAM,CAAA;IAEnB,MAAM;CAUP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,wBAAwB,EAAE,oBAAoB,CAAA;KAC/C;CACF"}
@@ -1,5 +1,8 @@
1
1
  import { nothing } from 'lit';
2
2
  declare const LuksoFormError_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A small error text block rendered below a form field in red. Used internally by form components.
5
+ */
3
6
  export declare class LuksoFormError extends LuksoFormError_base {
4
7
  error: string;
5
8
  render(): import('lit-html').TemplateResult<1> | typeof nothing;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-form-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;;AAOnC,qBACa,cAAe,SAAQ,mBAA4B;IAE9D,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM;CAUP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAA;KACnC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-form-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;;AAOnC;;GAEG;AACH,qBACa,cAAe,SAAQ,mBAA4B;IAE9D,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM;CAUP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAA;KACnC;CACF"}
@@ -1,5 +1,8 @@
1
1
  import { nothing } from 'lit';
2
2
  declare const LuksoFormLabel_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A styled `<label>` element used internally by form components. Renders nothing if `label` is empty.
5
+ */
3
6
  export declare class LuksoFormLabel extends LuksoFormLabel_base {
4
7
  label: string;
5
8
  forName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-form-label/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;;AAOnC,qBACa,cAAe,SAAQ,mBAA4B;IAE9D,KAAK,EAAE,MAAM,CAAA;IAGb,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM;CAWP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAA;KACnC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-form-label/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;;AAOnC;;GAEG;AACH,qBACa,cAAe,SAAQ,mBAA4B;IAE9D,KAAK,EAAE,MAAM,CAAA;IAGb,OAAO,EAAE,MAAM,CAAA;IAEf,MAAM;CAWP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,cAAc,CAAA;KACnC;CACF"}
@@ -3,6 +3,9 @@ export type IconSize = 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | '2
3
3
  export type IconPack = undefined | 'vuesax';
4
4
  export type IconVariant = 'linear' | 'bold' | 'outline' | 'broken' | 'bulk' | 'twotone';
5
5
  declare const LuksoIcon_base: typeof import('lit').LitElement;
6
+ /**
7
+ * Renders a named SVG icon from the built-in LUKSO icon registry or from the Vuesax icon pack.
8
+ */
6
9
  export declare class LuksoIcon extends LuksoIcon_base {
7
10
  name: any;
8
11
  size: IconSize;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAiQjD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,CAAA;AAEd,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE3C,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,QAAQ,GACR,MAAM,GACN,SAAS,CAAA;;AA2Qb,qBACa,SAAU,SAAQ,cAA4B;IAEzD,IAAI,MAAY;IAGhB,IAAI,EAAE,QAAQ,CAAe;IAG7B,KAAK,SAAgB;IAGrB,cAAc,MAAY;IAG1B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAY;IAGtC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAY;IAG5C,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC,OAAO,CAAC,KAAK,CA+BZ;IAID,OAAO,CAAC,UAAU,CAGhB;IAEF;;;;;;;;OAQG;YACW,OAAO;IAsCrB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmExB,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAS9C,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAC;IA8CvD;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAMjB,MAAM;CAyEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAA;KACxB;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAiQjD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,CAAA;AAEd,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE3C,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,MAAM,GACN,SAAS,GACT,QAAQ,GACR,MAAM,GACN,SAAS,CAAA;;AA2Qb;;GAEG;AACH,qBACa,SAAU,SAAQ,cAA4B;IAEzD,IAAI,MAAY;IAGhB,IAAI,EAAE,QAAQ,CAAe;IAG7B,KAAK,SAAgB;IAGrB,cAAc,MAAY;IAG1B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAY;IAGtC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAY;IAG5C,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC,OAAO,CAAC,KAAK,CA+BZ;IAID,OAAO,CAAC,UAAU,CAGhB;IAEF;;;;;;;;OAQG;YACW,OAAO;IAsCrB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmExB,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAS9C,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,IAAI,CAAC;IA8CvD;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAMjB,MAAM;CAyEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAA;KACxB;CACF"}
@@ -1,5 +1,8 @@
1
1
  import { PropertyValues } from 'lit';
2
2
  import { TailwindElement } from '../../shared/tailwind-element';
3
+ /**
4
+ * A lazy-loading image with a pulse skeleton placeholder during load and a fallback on error.
5
+ */
3
6
  export declare class LuksoImage extends TailwindElement {
4
7
  src: string;
5
8
  placeholder: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-image/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAA;AAM/C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,qBACa,UAAW,SAAQ,eAAe;IAE7C,GAAG,SAAK;IAGR,WAAW,SAAK;IAGhB,SAAS,UAAO;IAGhB,mBAAmB,SAAK;IAGxB,QAAQ,UAAQ;IAEhB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAKb,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAYxD,OAAO,CAAC,WAAW,CAsCjB;IAEF,MAAM;CA0BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-image/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAA;AAM/C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D;;GAEG;AACH,qBACa,UAAW,SAAQ,eAAe;IAE7C,GAAG,SAAK;IAGR,WAAW,SAAK;IAGhB,SAAS,UAAO;IAGhB,mBAAmB,SAAK;IAGxB,QAAQ,UAAQ;IAEhB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAKb,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAYxD,OAAO,CAAC,WAAW,CAsCjB;IAEF,MAAM;CA0BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
@@ -17,6 +17,7 @@ require('../../shared/assets/index.cjs');
17
17
  const cn = require('../../shared/tools/cn.cjs');
18
18
  require('viem');
19
19
  const style = require('./style.css.cjs');
20
+ const rules = require('./rules.cjs');
20
21
 
21
22
  var __defProp = Object.defineProperty;
22
23
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -44,6 +45,11 @@ exports.LuksoInput = class LuksoInput extends index.TailwindStyledElement(style)
44
45
  this.rightIcon = "";
45
46
  this.isRightIconClickable = false;
46
47
  this.keepFocusOnEscape = false;
48
+ this.noComma = false;
49
+ this.noLeadingDot = false;
50
+ this.onlyOneDot = false;
51
+ this.onlyNumbersAndDot = false;
52
+ this.noDecimal = false;
47
53
  this.hasFocus = false;
48
54
  this.hasHighlight = false;
49
55
  this.inputStyles = tailwindVariants.tv({
@@ -258,6 +264,17 @@ exports.LuksoInput = class LuksoInput extends index.TailwindStyledElement(style)
258
264
  }
259
265
  async handleInput(event) {
260
266
  const target = event.target;
267
+ if (this.activeRules.length > 0) {
268
+ const sanitized = this.activeRules.reduce(
269
+ (val, rule) => rule.sanitize(val),
270
+ target.value
271
+ );
272
+ if (sanitized !== target.value) {
273
+ const cursor = target.selectionStart ?? sanitized.length;
274
+ target.value = sanitized;
275
+ target.setSelectionRange(cursor, cursor);
276
+ }
277
+ }
261
278
  this.value = target?.value;
262
279
  await this.updateComplete;
263
280
  const changeEvent = new CustomEvent("on-input", {
@@ -286,7 +303,26 @@ exports.LuksoInput = class LuksoInput extends index.TailwindStyledElement(style)
286
303
  this.blur();
287
304
  }
288
305
  }
306
+ get activeRules() {
307
+ const rules$1 = [];
308
+ if (this.noComma) rules$1.push(rules.noComma);
309
+ if (this.noLeadingDot) rules$1.push(rules.noLeadingDot);
310
+ if (this.onlyOneDot) rules$1.push(rules.onlyOneDot);
311
+ if (this.onlyNumbersAndDot) rules$1.push(rules.onlyNumbersAndDot);
312
+ if (this.noDecimal) rules$1.push(rules.noDecimal);
313
+ return rules$1;
314
+ }
289
315
  async handleKeyDown(event) {
316
+ if (event.key.length === 1 && this.activeRules.length > 0) {
317
+ const input = event.target;
318
+ const isValid = this.activeRules.every(
319
+ (rule) => rule.validate(input, event.key)
320
+ );
321
+ if (!isValid) {
322
+ event.preventDefault();
323
+ return;
324
+ }
325
+ }
290
326
  await this.updateComplete;
291
327
  const target = event.target;
292
328
  const keyEvent = new CustomEvent("on-key-down", {
@@ -464,6 +500,21 @@ __decorateClass([
464
500
  __decorateClass([
465
501
  decorators_js.property({ type: Boolean, attribute: "keep-focus-on-escape" })
466
502
  ], exports.LuksoInput.prototype, "keepFocusOnEscape", 2);
503
+ __decorateClass([
504
+ decorators_js.property({ type: Boolean, attribute: "no-comma" })
505
+ ], exports.LuksoInput.prototype, "noComma", 2);
506
+ __decorateClass([
507
+ decorators_js.property({ type: Boolean, attribute: "no-leading-dot" })
508
+ ], exports.LuksoInput.prototype, "noLeadingDot", 2);
509
+ __decorateClass([
510
+ decorators_js.property({ type: Boolean, attribute: "only-one-dot" })
511
+ ], exports.LuksoInput.prototype, "onlyOneDot", 2);
512
+ __decorateClass([
513
+ decorators_js.property({ type: Boolean, attribute: "only-numbers-and-dot" })
514
+ ], exports.LuksoInput.prototype, "onlyNumbersAndDot", 2);
515
+ __decorateClass([
516
+ decorators_js.property({ type: Boolean, attribute: "no-decimal" })
517
+ ], exports.LuksoInput.prototype, "noDecimal", 2);
467
518
  __decorateClass([
468
519
  decorators_js.state()
469
520
  ], exports.LuksoInput.prototype, "hasFocus", 2);
@@ -1,5 +1,9 @@
1
1
  import { InputSize } from '../../shared/types';
2
2
  declare const LuksoInput_base: typeof import('lit').LitElement;
3
+ /**
4
+ * A styled text input with optional label, description, error, unit suffix, and right icon.
5
+ * All events pass `{ value, event }` in their detail object.
6
+ */
3
7
  export declare class LuksoInput extends LuksoInput_base {
4
8
  value: string | undefined;
5
9
  name: string | undefined;
@@ -25,6 +29,11 @@ export declare class LuksoInput extends LuksoInput_base {
25
29
  rightIcon: string | undefined;
26
30
  isRightIconClickable: boolean;
27
31
  keepFocusOnEscape: boolean;
32
+ noComma: boolean;
33
+ noLeadingDot: boolean;
34
+ onlyOneDot: boolean;
35
+ onlyNumbersAndDot: boolean;
36
+ noDecimal: boolean;
28
37
  private hasFocus;
29
38
  private hasHighlight;
30
39
  private inputStyles;
@@ -37,6 +46,7 @@ export declare class LuksoInput extends LuksoInput_base {
37
46
  private handleChange;
38
47
  private handleInput;
39
48
  private handleKeyUp;
49
+ private get activeRules();
40
50
  private handleKeyDown;
41
51
  private handleKeyPress;
42
52
  private handleMouseOver;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-input/index.ts"],"names":[],"mappings":"AAKA,OAAO,yBAAyB,CAAA;AAChC,OAAO,6BAA6B,CAAA;AACpC,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAKtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;AAI/C,qBACa,UAAW,SAAQ,eAA4B;IAE1D,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAGxB,IAAI,SAAS;IAGb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAG/B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAGzB,YAAY,SAAO;IAGnB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;IAGtB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAGvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAG1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAG/B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAGzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAGxB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAG/B,WAAW,UAAQ;IAGnB,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,SAAS,UAAQ;IAGjB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAGvB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAGvB,UAAU,UAAQ;IAGlB,IAAI,EAAE,SAAS,CAAU;IAGzB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAK;IAGlC,oBAAoB,UAAQ;IAG5B,iBAAiB,UAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,WAAW,CAkHjB;IAEF,iBAAiB;IAYjB,aAAa,CAAC,MAAM,EAAE,MAAM;IAgC5B,YAAY,CAAC,MAAM,EAAE,MAAM;IAW3B,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAUhC,OAAO,CAAC,WAAW;YAOL,UAAU;YAgBV,YAAY;YAcZ,WAAW;YAeX,WAAW;YAmBX,aAAa;YAcb,cAAc;IAc5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;YAaT,gBAAgB;IAc9B,OAAO,CAAC,oBAAoB;IAY5B,MAAM;CAkCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-input/index.ts"],"names":[],"mappings":"AAKA,OAAO,yBAAyB,CAAA;AAChC,OAAO,6BAA6B,CAAA;AACpC,OAAO,+BAA+B,CAAA;AACtC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,+BAA+B,CAAA;AAMtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;;AAI/C;;;GAGG;AACH,qBACa,UAAW,SAAQ,eAA4B;IAE1D,KAAK,EAAE,MAAM,GAAG,SAAS,CAAK;IAG9B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAGxB,IAAI,SAAS;IAGb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAG/B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAGzB,YAAY,SAAO;IAGnB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;IAGtB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAGvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAG1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAG/B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAGzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAGxB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAG/B,WAAW,UAAQ;IAGnB,UAAU,UAAQ;IAGlB,UAAU,UAAQ;IAGlB,SAAS,UAAQ;IAGjB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAGvB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IAGvB,UAAU,UAAQ;IAGlB,IAAI,EAAE,SAAS,CAAU;IAGzB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAK;IAGlC,oBAAoB,UAAQ;IAG5B,iBAAiB,UAAQ;IAGzB,OAAO,UAAQ;IAGf,YAAY,UAAQ;IAGpB,UAAU,UAAQ;IAGlB,iBAAiB,UAAQ;IAGzB,SAAS,UAAQ;IAGjB,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,WAAW,CAkHjB;IAEF,iBAAiB;IAYjB,aAAa,CAAC,MAAM,EAAE,MAAM;IAgC5B,YAAY,CAAC,MAAM,EAAE,MAAM;IAW3B,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAUhC,OAAO,CAAC,WAAW;YAOL,UAAU;YAgBV,YAAY;YAcZ,WAAW;YA0BX,WAAW;IAmBzB,OAAO,KAAK,WAAW,GAQtB;YAEa,aAAa;YAyBb,cAAc;IAc5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;YAaT,gBAAgB;IAc9B,OAAO,CAAC,oBAAoB;IAY5B,MAAM;CAkCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAA;KAC1B;CACF"}
@@ -13,6 +13,7 @@ import '../../shared/assets/index.js';
13
13
  import { cn } from '../../shared/tools/cn.js';
14
14
  import 'viem';
15
15
  import style from './style.css.js';
16
+ import { noComma, noLeadingDot, onlyOneDot, onlyNumbersAndDot, noDecimal } from './rules.js';
16
17
 
17
18
  var __defProp = Object.defineProperty;
18
19
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -40,6 +41,11 @@ let LuksoInput = class extends TailwindStyledElement(style) {
40
41
  this.rightIcon = "";
41
42
  this.isRightIconClickable = false;
42
43
  this.keepFocusOnEscape = false;
44
+ this.noComma = false;
45
+ this.noLeadingDot = false;
46
+ this.onlyOneDot = false;
47
+ this.onlyNumbersAndDot = false;
48
+ this.noDecimal = false;
43
49
  this.hasFocus = false;
44
50
  this.hasHighlight = false;
45
51
  this.inputStyles = tv({
@@ -254,6 +260,17 @@ let LuksoInput = class extends TailwindStyledElement(style) {
254
260
  }
255
261
  async handleInput(event) {
256
262
  const target = event.target;
263
+ if (this.activeRules.length > 0) {
264
+ const sanitized = this.activeRules.reduce(
265
+ (val, rule) => rule.sanitize(val),
266
+ target.value
267
+ );
268
+ if (sanitized !== target.value) {
269
+ const cursor = target.selectionStart ?? sanitized.length;
270
+ target.value = sanitized;
271
+ target.setSelectionRange(cursor, cursor);
272
+ }
273
+ }
257
274
  this.value = target?.value;
258
275
  await this.updateComplete;
259
276
  const changeEvent = new CustomEvent("on-input", {
@@ -282,7 +299,26 @@ let LuksoInput = class extends TailwindStyledElement(style) {
282
299
  this.blur();
283
300
  }
284
301
  }
302
+ get activeRules() {
303
+ const rules = [];
304
+ if (this.noComma) rules.push(noComma);
305
+ if (this.noLeadingDot) rules.push(noLeadingDot);
306
+ if (this.onlyOneDot) rules.push(onlyOneDot);
307
+ if (this.onlyNumbersAndDot) rules.push(onlyNumbersAndDot);
308
+ if (this.noDecimal) rules.push(noDecimal);
309
+ return rules;
310
+ }
285
311
  async handleKeyDown(event) {
312
+ if (event.key.length === 1 && this.activeRules.length > 0) {
313
+ const input = event.target;
314
+ const isValid = this.activeRules.every(
315
+ (rule) => rule.validate(input, event.key)
316
+ );
317
+ if (!isValid) {
318
+ event.preventDefault();
319
+ return;
320
+ }
321
+ }
286
322
  await this.updateComplete;
287
323
  const target = event.target;
288
324
  const keyEvent = new CustomEvent("on-key-down", {
@@ -460,6 +496,21 @@ __decorateClass([
460
496
  __decorateClass([
461
497
  property({ type: Boolean, attribute: "keep-focus-on-escape" })
462
498
  ], LuksoInput.prototype, "keepFocusOnEscape", 2);
499
+ __decorateClass([
500
+ property({ type: Boolean, attribute: "no-comma" })
501
+ ], LuksoInput.prototype, "noComma", 2);
502
+ __decorateClass([
503
+ property({ type: Boolean, attribute: "no-leading-dot" })
504
+ ], LuksoInput.prototype, "noLeadingDot", 2);
505
+ __decorateClass([
506
+ property({ type: Boolean, attribute: "only-one-dot" })
507
+ ], LuksoInput.prototype, "onlyOneDot", 2);
508
+ __decorateClass([
509
+ property({ type: Boolean, attribute: "only-numbers-and-dot" })
510
+ ], LuksoInput.prototype, "onlyNumbersAndDot", 2);
511
+ __decorateClass([
512
+ property({ type: Boolean, attribute: "no-decimal" })
513
+ ], LuksoInput.prototype, "noDecimal", 2);
463
514
  __decorateClass([
464
515
  state()
465
516
  ], LuksoInput.prototype, "hasFocus", 2);
@@ -20,4 +20,6 @@ export declare const Borderless: any;
20
20
  export declare const Small: any;
21
21
  /** Example of input with icon on right side. */
22
22
  export declare const RightIcon: any;
23
+ /** Example of input with number rules enabled. Combines `only-numbers-and-dot`, `no-comma`, `no-leading-dot` and `only-one-dot` to enforce a valid decimal number format. */
24
+ export declare const NumberRules: any;
23
25
  //# sourceMappingURL=lukso-input.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lukso-input.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-input/lukso-input.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,SAAS,CAAA;AAEhB,+DAA+D;AAC/D,QAAA,MAAM,IAAI,EAAE,IAiSX,CAAA;AAED,eAAe,IAAI,CAAA;AAiEnB,8CAA8C;AAC9C,eAAO,MAAM,YAAY,KAAoB,CAAA;AAK7C,gDAAgD;AAChD,eAAO,MAAM,eAAe,KAAoB,CAAA;AAKhD,wEAAwE;AACxE,eAAO,MAAM,cAAc,KAAoB,CAAA;AAO/C,oCAAoC;AACpC,eAAO,MAAM,IAAI,KAAoB,CAAA;AAKrC,+FAA+F;AAC/F,eAAO,MAAM,SAAS,KAAoB,CAAA;AAK1C,oMAAoM;AACpM,eAAO,MAAM,WAAW,KAAoB,CAAA;AAO5C,sEAAsE;AACtE,eAAO,MAAM,UAAU,KAAoB,CAAA;AAM3C,qCAAqC;AACrC,eAAO,MAAM,KAAK,KAAoB,CAAA;AAKtC,gDAAgD;AAChD,eAAO,MAAM,SAAS,KAAoB,CAAA"}
1
+ {"version":3,"file":"lukso-input.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/lukso-input/lukso-input.stories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,SAAS,CAAA;AAEhB,+DAA+D;AAC/D,QAAA,MAAM,IAAI,EAAE,IAsWX,CAAA;AAED,eAAe,IAAI,CAAA;AA2EnB,8CAA8C;AAC9C,eAAO,MAAM,YAAY,KAAoB,CAAA;AAK7C,gDAAgD;AAChD,eAAO,MAAM,eAAe,KAAoB,CAAA;AAKhD,wEAAwE;AACxE,eAAO,MAAM,cAAc,KAAoB,CAAA;AAO/C,oCAAoC;AACpC,eAAO,MAAM,IAAI,KAAoB,CAAA;AAKrC,+FAA+F;AAC/F,eAAO,MAAM,SAAS,KAAoB,CAAA;AAK1C,oMAAoM;AACpM,eAAO,MAAM,WAAW,KAAoB,CAAA;AAO5C,sEAAsE;AACtE,eAAO,MAAM,UAAU,KAAoB,CAAA;AAM3C,qCAAqC;AACrC,eAAO,MAAM,KAAK,KAAoB,CAAA;AAKtC,gDAAgD;AAChD,eAAO,MAAM,SAAS,KAAoB,CAAA;AAO1C,6KAA6K;AAC7K,eAAO,MAAM,WAAW,KAAoB,CAAA"}