@logosphere-ui/core 0.0.0-alpha.2

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 (110) hide show
  1. package/README.md +759 -0
  2. package/dist/atoms/Badge/badge.d.ts +21 -0
  3. package/dist/atoms/Badge/index.d.ts +2 -0
  4. package/dist/atoms/Button/button.d.ts +11 -0
  5. package/dist/atoms/Button/index.d.ts +1 -0
  6. package/dist/atoms/Checkbox/checkbox.d.ts +20 -0
  7. package/dist/atoms/Checkbox/index.d.ts +1 -0
  8. package/dist/atoms/FormField/formfield.d.ts +30 -0
  9. package/dist/atoms/FormField/index.d.ts +2 -0
  10. package/dist/atoms/Switch/index.d.ts +1 -0
  11. package/dist/atoms/Switch/switch.d.ts +10 -0
  12. package/dist/badge-BbhaO73N.cjs +13 -0
  13. package/dist/badge-DE7Tgd8Z.js +71 -0
  14. package/dist/badge.cjs +1 -0
  15. package/dist/badge.js +4 -0
  16. package/dist/breadcrumb-B-4yqoJZ.js +41 -0
  17. package/dist/breadcrumb-Cop-B1J7.cjs +12 -0
  18. package/dist/breadcrumb.cjs +1 -0
  19. package/dist/breadcrumb.js +4 -0
  20. package/dist/button-C1EwOosO.js +58 -0
  21. package/dist/button-CDRccsk9.cjs +10 -0
  22. package/dist/button.cjs +1 -0
  23. package/dist/button.js +4 -0
  24. package/dist/card-CUhlTJyJ.js +97 -0
  25. package/dist/card-n8ka8Zk-.cjs +43 -0
  26. package/dist/card.cjs +1 -0
  27. package/dist/card.js +4 -0
  28. package/dist/chatbot-Ces7Xveb.js +496 -0
  29. package/dist/chatbot-oRwt64d8.cjs +160 -0
  30. package/dist/chatbot.cjs +1 -0
  31. package/dist/chatbot.js +4 -0
  32. package/dist/checkbox-7Rb3WKGx.js +119 -0
  33. package/dist/checkbox-CdDTRdKV.cjs +37 -0
  34. package/dist/checkbox.cjs +1 -0
  35. package/dist/checkbox.js +4 -0
  36. package/dist/combobox-BJbI-Tgi.js +268 -0
  37. package/dist/combobox-pmE7bgEL.cjs +99 -0
  38. package/dist/combobox.cjs +1 -0
  39. package/dist/combobox.js +4 -0
  40. package/dist/datepicker-DFJx45C-.js +750 -0
  41. package/dist/datepicker-b9JGTTMx.cjs +115 -0
  42. package/dist/datepicker.cjs +1 -0
  43. package/dist/datepicker.js +4 -0
  44. package/dist/directive-Z_rhNYWK.js +240 -0
  45. package/dist/directive-ekjitgzi.cjs +3 -0
  46. package/dist/download-manager-A4fOxGWJ.js +381 -0
  47. package/dist/download-manager-BSIMTGaK.cjs +97 -0
  48. package/dist/download-manager.cjs +1 -0
  49. package/dist/download-manager.js +4 -0
  50. package/dist/formfield-D_7NFFoe.cjs +27 -0
  51. package/dist/formfield-d8fp9FTV.js +118 -0
  52. package/dist/formfield.cjs +1 -0
  53. package/dist/formfield.js +4 -0
  54. package/dist/index.cjs +1 -0
  55. package/dist/index.d.ts +16 -0
  56. package/dist/index.js +34 -0
  57. package/dist/index.umd.js +819 -0
  58. package/dist/input-ByllRq9M.js +192 -0
  59. package/dist/input-DsIOQPGV.cjs +46 -0
  60. package/dist/input.cjs +1 -0
  61. package/dist/input.js +4 -0
  62. package/dist/live-BX-yBGvT.cjs +1 -0
  63. package/dist/live-WTVSYE2F.js +24 -0
  64. package/dist/modal-Bfc6WQSL.js +110 -0
  65. package/dist/modal-DQ8VFL-P.cjs +39 -0
  66. package/dist/modal.cjs +1 -0
  67. package/dist/modal.js +4 -0
  68. package/dist/molecules/Breadcrumb/breadcrumb.d.ts +10 -0
  69. package/dist/molecules/Breadcrumb/index.d.ts +1 -0
  70. package/dist/molecules/Card/card.d.ts +16 -0
  71. package/dist/molecules/Card/index.d.ts +1 -0
  72. package/dist/molecules/Input/index.d.ts +2 -0
  73. package/dist/molecules/Input/input.d.ts +50 -0
  74. package/dist/molecules/Popover/index.d.ts +1 -0
  75. package/dist/molecules/Popover/popover.d.ts +33 -0
  76. package/dist/molecules/Textarea/index.d.ts +1 -0
  77. package/dist/molecules/Textarea/text-area.d.ts +49 -0
  78. package/dist/organisms/Chatbot/chatbot.d.ts +79 -0
  79. package/dist/organisms/Chatbot/index.d.ts +1 -0
  80. package/dist/organisms/Combobox/combobox.d.ts +49 -0
  81. package/dist/organisms/Combobox/index.d.ts +1 -0
  82. package/dist/organisms/DatePicker/datepicker.d.ts +79 -0
  83. package/dist/organisms/DatePicker/index.d.ts +1 -0
  84. package/dist/organisms/DownloadManager/download-manager.d.ts +52 -0
  85. package/dist/organisms/DownloadManager/index.d.ts +1 -0
  86. package/dist/organisms/Modal/index.d.ts +1 -0
  87. package/dist/organisms/Modal/modal.d.ts +21 -0
  88. package/dist/organisms/Tab/index.d.ts +1 -0
  89. package/dist/organisms/Tab/tab.d.ts +33 -0
  90. package/dist/popover-C_Ob86CJ.cjs +30 -0
  91. package/dist/popover-D-FXdEdS.js +1040 -0
  92. package/dist/popover.cjs +1 -0
  93. package/dist/popover.js +4 -0
  94. package/dist/shared/icons/icon-map.d.ts +1 -0
  95. package/dist/shared/icons/ui-icon.d.ts +15 -0
  96. package/dist/styles/main.css +247 -0
  97. package/dist/switch-Cpl53nRW.js +64 -0
  98. package/dist/switch-Rnnn10bn.cjs +17 -0
  99. package/dist/switch.cjs +1 -0
  100. package/dist/switch.js +4 -0
  101. package/dist/tab-BKdN4xAz.js +176 -0
  102. package/dist/tab-DcjAlXzU.cjs +40 -0
  103. package/dist/tab.cjs +1 -0
  104. package/dist/tab.js +4 -0
  105. package/dist/text-area-CtZY3yLA.js +204 -0
  106. package/dist/text-area-DFDF5oos.cjs +44 -0
  107. package/dist/textarea.cjs +1 -0
  108. package/dist/textarea.js +4 -0
  109. package/dist/vite.svg +1 -0
  110. package/package.json +185 -0
@@ -0,0 +1,192 @@
1
+ import { LitElement as d, nothing as o, html as u, unsafeCSS as y, css as c } from "lit";
2
+ import { query as m, property as r, state as b, customElement as v } from "lit/decorators.js";
3
+ import { l as g } from "./live-WTVSYE2F.js";
4
+ const _ = ".input__field{width:100%;background:transparent;border:none;outline:none;font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-body-text);box-sizing:border-box;line-height:1.5}.input__field::placeholder{color:var(--color-tertiary)}.input__field:disabled{cursor:not-allowed}.input__field--default{height:16px}.input__field--large{height:24px}.input__clear-btn{border:none;background:transparent;color:var(--color-gray-400);cursor:pointer;padding:0;display:inline-flex;align-items:center;outline:none;flex-shrink:0;transition:color var(--transition-speed-fast) var(--transition-timing)}.input__clear-btn:hover{color:var(--color-gray-600)}";
5
+ var f = Object.defineProperty, E = Object.getOwnPropertyDescriptor, e = (i, n, l, a) => {
6
+ for (var s = a > 1 ? void 0 : a ? E(n, l) : n, p = i.length - 1, h; p >= 0; p--)
7
+ (h = i[p]) && (s = (a ? h(n, l, s) : h(s)) || s);
8
+ return a && s && f(n, l, s), s;
9
+ };
10
+ let t = class extends d {
11
+ constructor() {
12
+ super(...arguments), this.value = "", this.type = "text", this.placeholder = "", this.name = "", this.autocomplete = "", this.pattern = "", this.size = "default", this.variant = "default", this.showClear = !1, this.label = "", this.helper = "", this.error = "", this.required = !1, this.disabled = !1, this.readonly = !1, this._internalError = "", this.handleInput = (i) => {
13
+ const n = i.target;
14
+ this.value = n.value, this._internalError && (this._internalError = "", this._inputElement.setCustomValidity("")), this.dispatchEvent(new CustomEvent("input", {
15
+ bubbles: !0,
16
+ composed: !0,
17
+ detail: { value: this.value, originalEvent: i }
18
+ }));
19
+ }, this.handleChange = (i) => {
20
+ const n = i.target;
21
+ this.value = n.value, n.checkValidity() || (this._internalError = n.validationMessage), this.dispatchEvent(new CustomEvent("change", {
22
+ bubbles: !0,
23
+ composed: !0,
24
+ detail: { value: this.value, originalEvent: i }
25
+ }));
26
+ }, this.handleKeyDown = (i) => {
27
+ this.dispatchEvent(new CustomEvent("keydown", {
28
+ bubbles: !0,
29
+ composed: !0,
30
+ detail: { key: i.key, originalEvent: i }
31
+ }));
32
+ }, this.handleKeyUp = (i) => {
33
+ this.dispatchEvent(new CustomEvent("keyup", {
34
+ bubbles: !0,
35
+ composed: !0,
36
+ detail: { key: i.key, originalEvent: i }
37
+ }));
38
+ }, this.handleClear = () => {
39
+ this.value = "", this._inputElement && (this._inputElement.value = ""), this.dispatchEvent(new CustomEvent("clear", { bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("input", {
40
+ bubbles: !0,
41
+ composed: !0,
42
+ detail: { value: "", originalEvent: null }
43
+ }));
44
+ };
45
+ }
46
+ get inputElement() {
47
+ return this._inputElement;
48
+ }
49
+ focus() {
50
+ this._inputElement?.focus();
51
+ }
52
+ blur() {
53
+ this._inputElement?.blur();
54
+ }
55
+ select() {
56
+ this._inputElement?.select();
57
+ }
58
+ setSelectionRange(i, n, l) {
59
+ this._inputElement?.setSelectionRange(i, n, l);
60
+ }
61
+ checkValidity() {
62
+ return this._inputElement?.checkValidity() ?? !0;
63
+ }
64
+ reportValidity() {
65
+ return this._inputElement?.reportValidity() ?? !0;
66
+ }
67
+ setCustomValidity(i) {
68
+ this._inputElement?.setCustomValidity(i), this._internalError = i, this.requestUpdate();
69
+ }
70
+ render() {
71
+ const i = this.error || this._internalError, n = this.showClear && this.value && !this.disabled && !this.readonly, l = `input__field input__field--${this.size}`;
72
+ return u`
73
+ <logosphere-formfield
74
+ .label=${this.label}
75
+ .helper=${this.helper}
76
+ .error=${i}
77
+ .required=${this.required}
78
+ .disabled=${this.disabled}
79
+ .readonly=${this.readonly}
80
+ .placeholder=${this.placeholder}
81
+ .size=${this.size}
82
+ .variant=${this.variant}
83
+ >
84
+ <input
85
+ class="${l}"
86
+ type=${this.type}
87
+ .value=${g(this.value)}
88
+ placeholder=${this.placeholder || o}
89
+ name=${this.name || o}
90
+ autocomplete=${this.autocomplete || o}
91
+ ?required=${this.required}
92
+ ?disabled=${this.disabled}
93
+ ?readonly=${this.readonly}
94
+ minlength=${this.minlength ?? o}
95
+ maxlength=${this.maxlength ?? o}
96
+ pattern=${this.pattern || o}
97
+ min=${this.min ?? o}
98
+ max=${this.max ?? o}
99
+ step=${this.step ?? o}
100
+ @input=${this.handleInput}
101
+ @change=${this.handleChange}
102
+ @keydown=${this.handleKeyDown}
103
+ @keyup=${this.handleKeyUp}
104
+ />
105
+ ${n ? u`
106
+ <button
107
+ type="button"
108
+ slot="suffix"
109
+ class="input__clear-btn"
110
+ @click=${this.handleClear}
111
+ tabindex="-1"
112
+ >
113
+ <ui-icon name="uil-times" size="14"></ui-icon>
114
+ </button>
115
+ ` : o}
116
+ </logosphere-formfield>
117
+ `;
118
+ }
119
+ };
120
+ t.styles = [c`${y(_)}`];
121
+ e([
122
+ m("input")
123
+ ], t.prototype, "_inputElement", 2);
124
+ e([
125
+ r({ type: String })
126
+ ], t.prototype, "value", 2);
127
+ e([
128
+ r({ type: String })
129
+ ], t.prototype, "type", 2);
130
+ e([
131
+ r({ type: String })
132
+ ], t.prototype, "placeholder", 2);
133
+ e([
134
+ r({ type: String })
135
+ ], t.prototype, "name", 2);
136
+ e([
137
+ r({ type: String })
138
+ ], t.prototype, "autocomplete", 2);
139
+ e([
140
+ r({ type: Number })
141
+ ], t.prototype, "minlength", 2);
142
+ e([
143
+ r({ type: Number })
144
+ ], t.prototype, "maxlength", 2);
145
+ e([
146
+ r({ type: String })
147
+ ], t.prototype, "pattern", 2);
148
+ e([
149
+ r({ type: Number })
150
+ ], t.prototype, "min", 2);
151
+ e([
152
+ r({ type: Number })
153
+ ], t.prototype, "max", 2);
154
+ e([
155
+ r({ type: Number })
156
+ ], t.prototype, "step", 2);
157
+ e([
158
+ r({ type: String })
159
+ ], t.prototype, "size", 2);
160
+ e([
161
+ r({ type: String })
162
+ ], t.prototype, "variant", 2);
163
+ e([
164
+ r({ type: Boolean })
165
+ ], t.prototype, "showClear", 2);
166
+ e([
167
+ r({ type: String })
168
+ ], t.prototype, "label", 2);
169
+ e([
170
+ r({ type: String })
171
+ ], t.prototype, "helper", 2);
172
+ e([
173
+ r({ type: String })
174
+ ], t.prototype, "error", 2);
175
+ e([
176
+ r({ type: Boolean })
177
+ ], t.prototype, "required", 2);
178
+ e([
179
+ r({ type: Boolean })
180
+ ], t.prototype, "disabled", 2);
181
+ e([
182
+ r({ type: Boolean })
183
+ ], t.prototype, "readonly", 2);
184
+ e([
185
+ b()
186
+ ], t.prototype, "_internalError", 2);
187
+ t = e([
188
+ v("logosphere-input")
189
+ ], t);
190
+ export {
191
+ t as L
192
+ };
@@ -0,0 +1,46 @@
1
+ "use strict";const o=require("lit"),t=require("lit/decorators.js"),h=require("./live-BX-yBGvT.cjs"),u=".input__field{width:100%;background:transparent;border:none;outline:none;font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-body-text);box-sizing:border-box;line-height:1.5}.input__field::placeholder{color:var(--color-tertiary)}.input__field:disabled{cursor:not-allowed}.input__field--default{height:16px}.input__field--large{height:24px}.input__clear-btn{border:none;background:transparent;color:var(--color-gray-400);cursor:pointer;padding:0;display:inline-flex;align-items:center;outline:none;flex-shrink:0;transition:color var(--transition-speed-fast) var(--transition-timing)}.input__clear-btn:hover{color:var(--color-gray-600)}";var y=Object.defineProperty,d=Object.getOwnPropertyDescriptor,r=(s,e,n,i)=>{for(var p=i>1?void 0:i?d(e,n):e,l=s.length-1,a;l>=0;l--)(a=s[l])&&(p=(i?a(e,n,p):a(p))||p);return i&&p&&y(e,n,p),p};exports.LogosphereInput=class extends o.LitElement{constructor(){super(...arguments),this.value="",this.type="text",this.placeholder="",this.name="",this.autocomplete="",this.pattern="",this.size="default",this.variant="default",this.showClear=!1,this.label="",this.helper="",this.error="",this.required=!1,this.disabled=!1,this.readonly=!1,this._internalError="",this.handleInput=e=>{const n=e.target;this.value=n.value,this._internalError&&(this._internalError="",this._inputElement.setCustomValidity("")),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value,originalEvent:e}}))},this.handleChange=e=>{const n=e.target;this.value=n.value,n.checkValidity()||(this._internalError=n.validationMessage),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value,originalEvent:e}}))},this.handleKeyDown=e=>{this.dispatchEvent(new CustomEvent("keydown",{bubbles:!0,composed:!0,detail:{key:e.key,originalEvent:e}}))},this.handleKeyUp=e=>{this.dispatchEvent(new CustomEvent("keyup",{bubbles:!0,composed:!0,detail:{key:e.key,originalEvent:e}}))},this.handleClear=()=>{this.value="",this._inputElement&&(this._inputElement.value=""),this.dispatchEvent(new CustomEvent("clear",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:"",originalEvent:null}}))}}get inputElement(){return this._inputElement}focus(){this._inputElement?.focus()}blur(){this._inputElement?.blur()}select(){this._inputElement?.select()}setSelectionRange(e,n,i){this._inputElement?.setSelectionRange(e,n,i)}checkValidity(){return this._inputElement?.checkValidity()??!0}reportValidity(){return this._inputElement?.reportValidity()??!0}setCustomValidity(e){this._inputElement?.setCustomValidity(e),this._internalError=e,this.requestUpdate()}render(){const e=this.error||this._internalError,n=this.showClear&&this.value&&!this.disabled&&!this.readonly,i=`input__field input__field--${this.size}`;return o.html`
2
+ <logosphere-formfield
3
+ .label=${this.label}
4
+ .helper=${this.helper}
5
+ .error=${e}
6
+ .required=${this.required}
7
+ .disabled=${this.disabled}
8
+ .readonly=${this.readonly}
9
+ .placeholder=${this.placeholder}
10
+ .size=${this.size}
11
+ .variant=${this.variant}
12
+ >
13
+ <input
14
+ class="${i}"
15
+ type=${this.type}
16
+ .value=${h.l(this.value)}
17
+ placeholder=${this.placeholder||o.nothing}
18
+ name=${this.name||o.nothing}
19
+ autocomplete=${this.autocomplete||o.nothing}
20
+ ?required=${this.required}
21
+ ?disabled=${this.disabled}
22
+ ?readonly=${this.readonly}
23
+ minlength=${this.minlength??o.nothing}
24
+ maxlength=${this.maxlength??o.nothing}
25
+ pattern=${this.pattern||o.nothing}
26
+ min=${this.min??o.nothing}
27
+ max=${this.max??o.nothing}
28
+ step=${this.step??o.nothing}
29
+ @input=${this.handleInput}
30
+ @change=${this.handleChange}
31
+ @keydown=${this.handleKeyDown}
32
+ @keyup=${this.handleKeyUp}
33
+ />
34
+ ${n?o.html`
35
+ <button
36
+ type="button"
37
+ slot="suffix"
38
+ class="input__clear-btn"
39
+ @click=${this.handleClear}
40
+ tabindex="-1"
41
+ >
42
+ <ui-icon name="uil-times" size="14"></ui-icon>
43
+ </button>
44
+ `:o.nothing}
45
+ </logosphere-formfield>
46
+ `}};exports.LogosphereInput.styles=[o.css`${o.unsafeCSS(u)}`];r([t.query("input")],exports.LogosphereInput.prototype,"_inputElement",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"value",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"type",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"placeholder",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"name",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"autocomplete",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"minlength",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"maxlength",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"pattern",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"min",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"max",2);r([t.property({type:Number})],exports.LogosphereInput.prototype,"step",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"size",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"variant",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"showClear",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"label",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"helper",2);r([t.property({type:String})],exports.LogosphereInput.prototype,"error",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"required",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"disabled",2);r([t.property({type:Boolean})],exports.LogosphereInput.prototype,"readonly",2);r([t.state()],exports.LogosphereInput.prototype,"_internalError",2);exports.LogosphereInput=r([t.customElement("logosphere-input")],exports.LogosphereInput);
package/dist/input.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./input-DsIOQPGV.cjs");Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>e.LogosphereInput});
package/dist/input.js ADDED
@@ -0,0 +1,4 @@
1
+ import { L as p } from "./input-ByllRq9M.js";
2
+ export {
3
+ p as LogosphereInput
4
+ };
@@ -0,0 +1 @@
1
+ "use strict";const t=require("./directive-ekjitgzi.cjs");const s=e=>e.strings===void 0,o={},T=(e,r=o)=>e._$AH=r;const l=t.e(class extends t.i{constructor(e){if(super(e),e.type!==t.t.PROPERTY&&e.type!==t.t.ATTRIBUTE&&e.type!==t.t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!s(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[r]){if(r===t.E||r===t.A)return r;const n=e.element,i=e.name;if(e.type===t.t.PROPERTY){if(r===n[i])return t.E}else if(e.type===t.t.BOOLEAN_ATTRIBUTE){if(!!r===n.hasAttribute(i))return t.E}else if(e.type===t.t.ATTRIBUTE&&n.getAttribute(i)===r+"")return t.E;return T(e),r}});exports.l=l;
@@ -0,0 +1,24 @@
1
+ import { e as s, i as T, t, E as n, A as l } from "./directive-Z_rhNYWK.js";
2
+ const p = (e) => e.strings === void 0, u = {}, E = (e, r = u) => e._$AH = r;
3
+ const A = s(class extends T {
4
+ constructor(e) {
5
+ if (super(e), e.type !== t.PROPERTY && e.type !== t.ATTRIBUTE && e.type !== t.BOOLEAN_ATTRIBUTE) throw Error("The `live` directive is not allowed on child or event bindings");
6
+ if (!p(e)) throw Error("`live` bindings can only contain a single expression");
7
+ }
8
+ render(e) {
9
+ return e;
10
+ }
11
+ update(e, [r]) {
12
+ if (r === n || r === l) return r;
13
+ const i = e.element, o = e.name;
14
+ if (e.type === t.PROPERTY) {
15
+ if (r === i[o]) return n;
16
+ } else if (e.type === t.BOOLEAN_ATTRIBUTE) {
17
+ if (!!r === i.hasAttribute(o)) return n;
18
+ } else if (e.type === t.ATTRIBUTE && i.getAttribute(o) === r + "") return n;
19
+ return E(e), r;
20
+ }
21
+ });
22
+ export {
23
+ A as l
24
+ };
@@ -0,0 +1,110 @@
1
+ import { LitElement as p, html as r, unsafeCSS as h, css as m } from "lit";
2
+ import { property as n, customElement as f } from "lit/decorators.js";
3
+ const u = ".modal__backdrop{position:fixed;inset:0;z-index:var(--z-index-modal-backdrop);display:flex;align-items:center;justify-content:center;background-color:#00000080;padding:var(--spacing-4);font-family:var(--font-family-base)}.modal__dialog{width:100%;max-width:720px;border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-xl);background-color:var(--color-body-bg);display:grid;grid-template-rows:auto 1fr auto}.modal__header{padding:var(--spacing-4) var(--spacing-4) var(--spacing-2);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-2)}.modal__header-content{flex:1;min-width:0}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-body-text);margin:0}.modal__body{padding:var(--spacing-4)}.modal__footer{padding:var(--spacing-4);display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:flex-end;border-top:1px solid var(--color-border)}";
4
+ var v = Object.defineProperty, g = Object.getOwnPropertyDescriptor, t = (e, s, i, l) => {
5
+ for (var a = l > 1 ? void 0 : l ? g(s, i) : s, d = e.length - 1, c; d >= 0; d--)
6
+ (c = e[d]) && (a = (l ? c(s, i, a) : c(a)) || a);
7
+ return l && a && v(s, i, a), a;
8
+ };
9
+ let o = class extends p {
10
+ constructor() {
11
+ super(...arguments), this.open = !1, this.title = "", this.closeOnEsc = !0, this.closeOnBackdrop = !0, this.showBack = !1, this.showClose = !1, this.hasFooterContent = !1, this.onKeyDown = (e) => {
12
+ this.open && this.closeOnEsc && e.key === "Escape" && this.setOpen(!1);
13
+ }, this.onBackdropClick = (e) => {
14
+ if (!this.closeOnBackdrop) return;
15
+ const s = this.shadowRoot?.querySelector(".__modal-content");
16
+ s && !s.contains(e.target) && this.setOpen(!1);
17
+ };
18
+ }
19
+ connectedCallback() {
20
+ super.connectedCallback(), document.addEventListener("keydown", this.onKeyDown);
21
+ }
22
+ disconnectedCallback() {
23
+ super.disconnectedCallback(), document.removeEventListener("keydown", this.onKeyDown);
24
+ }
25
+ openModal() {
26
+ this.setOpen(!0);
27
+ }
28
+ closeModal() {
29
+ this.setOpen(!1);
30
+ }
31
+ setOpen(e) {
32
+ this.open !== e && (this.open = e, this.dispatchEvent(new CustomEvent(e ? "modal-open" : "modal-close", { bubbles: !0 })));
33
+ }
34
+ checkFooterContent() {
35
+ const e = this.shadowRoot?.querySelector('slot[name="footer"]');
36
+ e && (this.hasFooterContent = e.assignedNodes().length > 0);
37
+ }
38
+ updated(e) {
39
+ super.updated(e), this.checkFooterContent();
40
+ }
41
+ render() {
42
+ return this.open ? r`
43
+ <div
44
+ class="modal__backdrop"
45
+ role="presentation"
46
+ aria-hidden="false"
47
+ @mousedown=${this.onBackdropClick}
48
+ >
49
+ <div
50
+ class="__modal-content modal__dialog"
51
+ role="dialog"
52
+ aria-modal="true"
53
+ >
54
+ ${this.showBack || this.showClose ? r`
55
+ <div class="modal__header">
56
+ ${this.showBack ? r`
57
+ <logosphere-button variant="text" size="sm" @click=${() => this.setOpen(!1)}>←</logosphere-button>
58
+ ` : ""}
59
+ <div class="modal__header-content">
60
+ ${this.title ? r`<h2 class="modal__title">${this.title}</h2>` : ""}
61
+ <slot name="header"></slot>
62
+ </div>
63
+ ${this.showClose ? r`
64
+ <logosphere-button variant="text" size="sm" @click=${() => this.setOpen(!1)}>×</logosphere-button>
65
+ ` : ""}
66
+ </div>
67
+ ` : ""}
68
+
69
+ <div class="modal__body">
70
+ <slot></slot>
71
+ </div>
72
+
73
+ ${this.hasFooterContent ? r`
74
+ <div class="modal__footer">
75
+ <slot name="footer"></slot>
76
+ </div>
77
+ ` : ""}
78
+ </div>
79
+ </div>
80
+ ` : r``;
81
+ }
82
+ };
83
+ o.styles = [m`${h(u)}`];
84
+ t([
85
+ n({ type: Boolean, reflect: !0 })
86
+ ], o.prototype, "open", 2);
87
+ t([
88
+ n({ type: String })
89
+ ], o.prototype, "title", 2);
90
+ t([
91
+ n({ type: Boolean })
92
+ ], o.prototype, "closeOnEsc", 2);
93
+ t([
94
+ n({ type: Boolean })
95
+ ], o.prototype, "closeOnBackdrop", 2);
96
+ t([
97
+ n({ type: Boolean })
98
+ ], o.prototype, "showBack", 2);
99
+ t([
100
+ n({ type: Boolean })
101
+ ], o.prototype, "showClose", 2);
102
+ t([
103
+ n({ type: Boolean, state: !0 })
104
+ ], o.prototype, "hasFooterContent", 2);
105
+ o = t([
106
+ f("logosphere-modal")
107
+ ], o);
108
+ export {
109
+ o as M
110
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";const e=require("lit"),t=require("lit/decorators.js"),p=".modal__backdrop{position:fixed;inset:0;z-index:var(--z-index-modal-backdrop);display:flex;align-items:center;justify-content:center;background-color:#00000080;padding:var(--spacing-4);font-family:var(--font-family-base)}.modal__dialog{width:100%;max-width:720px;border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-xl);background-color:var(--color-body-bg);display:grid;grid-template-rows:auto 1fr auto}.modal__header{padding:var(--spacing-4) var(--spacing-4) var(--spacing-2);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-2)}.modal__header-content{flex:1;min-width:0}.modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-body-text);margin:0}.modal__body{padding:var(--spacing-4)}.modal__footer{padding:var(--spacing-4);display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:flex-end;border-top:1px solid var(--color-border)}";var c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,s=(n,o,r,l)=>{for(var a=l>1?void 0:l?h(o,r):o,i=n.length-1,d;i>=0;i--)(d=n[i])&&(a=(l?d(o,r,a):d(a))||a);return l&&a&&c(o,r,a),a};exports.Modal=class extends e.LitElement{constructor(){super(...arguments),this.open=!1,this.title="",this.closeOnEsc=!0,this.closeOnBackdrop=!0,this.showBack=!1,this.showClose=!1,this.hasFooterContent=!1,this.onKeyDown=o=>{this.open&&this.closeOnEsc&&o.key==="Escape"&&this.setOpen(!1)},this.onBackdropClick=o=>{if(!this.closeOnBackdrop)return;const r=this.shadowRoot?.querySelector(".__modal-content");r&&!r.contains(o.target)&&this.setOpen(!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this.onKeyDown)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.onKeyDown)}openModal(){this.setOpen(!0)}closeModal(){this.setOpen(!1)}setOpen(o){this.open!==o&&(this.open=o,this.dispatchEvent(new CustomEvent(o?"modal-open":"modal-close",{bubbles:!0})))}checkFooterContent(){const o=this.shadowRoot?.querySelector('slot[name="footer"]');o&&(this.hasFooterContent=o.assignedNodes().length>0)}updated(o){super.updated(o),this.checkFooterContent()}render(){return this.open?e.html`
2
+ <div
3
+ class="modal__backdrop"
4
+ role="presentation"
5
+ aria-hidden="false"
6
+ @mousedown=${this.onBackdropClick}
7
+ >
8
+ <div
9
+ class="__modal-content modal__dialog"
10
+ role="dialog"
11
+ aria-modal="true"
12
+ >
13
+ ${this.showBack||this.showClose?e.html`
14
+ <div class="modal__header">
15
+ ${this.showBack?e.html`
16
+ <logosphere-button variant="text" size="sm" @click=${()=>this.setOpen(!1)}>←</logosphere-button>
17
+ `:""}
18
+ <div class="modal__header-content">
19
+ ${this.title?e.html`<h2 class="modal__title">${this.title}</h2>`:""}
20
+ <slot name="header"></slot>
21
+ </div>
22
+ ${this.showClose?e.html`
23
+ <logosphere-button variant="text" size="sm" @click=${()=>this.setOpen(!1)}>×</logosphere-button>
24
+ `:""}
25
+ </div>
26
+ `:""}
27
+
28
+ <div class="modal__body">
29
+ <slot></slot>
30
+ </div>
31
+
32
+ ${this.hasFooterContent?e.html`
33
+ <div class="modal__footer">
34
+ <slot name="footer"></slot>
35
+ </div>
36
+ `:""}
37
+ </div>
38
+ </div>
39
+ `:e.html``}};exports.Modal.styles=[e.css`${e.unsafeCSS(p)}`];s([t.property({type:Boolean,reflect:!0})],exports.Modal.prototype,"open",2);s([t.property({type:String})],exports.Modal.prototype,"title",2);s([t.property({type:Boolean})],exports.Modal.prototype,"closeOnEsc",2);s([t.property({type:Boolean})],exports.Modal.prototype,"closeOnBackdrop",2);s([t.property({type:Boolean})],exports.Modal.prototype,"showBack",2);s([t.property({type:Boolean})],exports.Modal.prototype,"showClose",2);s([t.property({type:Boolean,state:!0})],exports.Modal.prototype,"hasFooterContent",2);exports.Modal=s([t.customElement("logosphere-modal")],exports.Modal);
package/dist/modal.cjs ADDED
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./modal-DQ8VFL-P.cjs");Object.defineProperty(exports,"Modal",{enumerable:!0,get:()=>e.Modal});
package/dist/modal.js ADDED
@@ -0,0 +1,4 @@
1
+ import { M as r } from "./modal-Bfc6WQSL.js";
2
+ export {
3
+ r as Modal
4
+ };
@@ -0,0 +1,10 @@
1
+ import { LitElement } from "lit";
2
+ export declare class Breadcrumb extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ items: {
5
+ label: string;
6
+ href?: string;
7
+ active?: boolean;
8
+ }[];
9
+ render(): import("lit-html").TemplateResult<1>;
10
+ }
@@ -0,0 +1 @@
1
+ export * from "./breadcrumb";
@@ -0,0 +1,16 @@
1
+ import { LitElement } from "lit";
2
+ import "../../atoms/Button/button";
3
+ export declare class Card extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ title: string;
6
+ description: string;
7
+ header: boolean;
8
+ footer: boolean;
9
+ onOk?: () => void;
10
+ onCancel?: () => void;
11
+ okLabel: string;
12
+ cancelLabel: string;
13
+ private handleOk;
14
+ private handleCancel;
15
+ render(): import("lit-html").TemplateResult<1>;
16
+ }
@@ -0,0 +1 @@
1
+ export * from "./card";
@@ -0,0 +1,2 @@
1
+ export { LogosphereInput } from "./input.js";
2
+ export type { InputType, InputSize, InputVariant } from "./input.js";
@@ -0,0 +1,50 @@
1
+ import { LitElement } from "lit";
2
+ import "../../atoms/FormField/formfield.js";
3
+ import "../../shared/icons/ui-icon.js";
4
+ export type InputType = "text" | "password" | "email" | "number" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week";
5
+ export type InputSize = "default" | "large";
6
+ export type InputVariant = "default" | "subtle";
7
+ export declare class LogosphereInput extends LitElement {
8
+ static styles: import("lit").CSSResult[];
9
+ private _inputElement;
10
+ value: string;
11
+ type: InputType;
12
+ placeholder: string;
13
+ name: string;
14
+ autocomplete: string;
15
+ minlength?: number;
16
+ maxlength?: number;
17
+ pattern: string;
18
+ min?: number;
19
+ max?: number;
20
+ step?: number;
21
+ size: InputSize;
22
+ variant: InputVariant;
23
+ showClear: boolean;
24
+ label: string;
25
+ helper: string;
26
+ error: string;
27
+ required: boolean;
28
+ disabled: boolean;
29
+ readonly: boolean;
30
+ private _internalError;
31
+ get inputElement(): HTMLInputElement;
32
+ focus(): void;
33
+ blur(): void;
34
+ select(): void;
35
+ setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
36
+ checkValidity(): boolean;
37
+ reportValidity(): boolean;
38
+ setCustomValidity(message: string): void;
39
+ private handleInput;
40
+ private handleChange;
41
+ private handleKeyDown;
42
+ private handleKeyUp;
43
+ private handleClear;
44
+ render(): import("lit-html").TemplateResult<1>;
45
+ }
46
+ declare global {
47
+ interface HTMLElementTagNameMap {
48
+ "logosphere-input": LogosphereInput;
49
+ }
50
+ }
@@ -0,0 +1 @@
1
+ export * from "./popover";
@@ -0,0 +1,33 @@
1
+ import { LitElement } from "lit";
2
+ import { type Placement } from "@popperjs/core";
3
+ export type PopoverTrigger = "click" | "hover" | "both";
4
+ export declare class Popover extends LitElement {
5
+ static styles: import("lit").CSSResult[];
6
+ title: string;
7
+ trigger: PopoverTrigger;
8
+ placement: Placement;
9
+ offset: number;
10
+ open: boolean;
11
+ closeOnOutsideClick: boolean;
12
+ private triggerElement;
13
+ private popperElement?;
14
+ private popperArrowElement?;
15
+ private popperInstance?;
16
+ connectedCallback(): void;
17
+ disconnectedCallback(): void;
18
+ updated(changedProps: Map<string | number | symbol, unknown>): void;
19
+ private handleDocumentClick;
20
+ private setOpen;
21
+ private toggle;
22
+ private handleMouseEnter;
23
+ private handleMouseLeave;
24
+ private updatePopper;
25
+ private getPopperModifiers;
26
+ private destroyPopper;
27
+ render(): import("lit-html").TemplateResult<1>;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ "logosphere-popover": Popover;
32
+ }
33
+ }
@@ -0,0 +1 @@
1
+ export * from "./text-area";
@@ -0,0 +1,49 @@
1
+ import { LitElement } from "lit";
2
+ import type { PropertyValues } from "lit";
3
+ import "../../atoms/FormField/formfield.js";
4
+ import "../../shared/icons/ui-icon.js";
5
+ export type TextareaSize = "default" | "large";
6
+ export type TextareaVariant = "default" | "subtle";
7
+ export type TextareaResize = "none" | "vertical" | "horizontal" | "both";
8
+ export declare class TextArea extends LitElement {
9
+ static styles: import("lit").CSSResult[];
10
+ private _textareaElement;
11
+ value: string;
12
+ placeholder: string;
13
+ name: string;
14
+ autocomplete: string;
15
+ minlength?: number;
16
+ maxlength?: number;
17
+ rows: number;
18
+ cols?: number;
19
+ wrap: "soft" | "hard";
20
+ resize: TextareaResize;
21
+ autoResize: boolean;
22
+ size: TextareaSize;
23
+ variant: TextareaVariant;
24
+ showClear: boolean;
25
+ label: string;
26
+ helper: string;
27
+ error: string;
28
+ required: boolean;
29
+ disabled: boolean;
30
+ readonly: boolean;
31
+ private _internalError;
32
+ get textareaElement(): HTMLTextAreaElement;
33
+ focus(): void;
34
+ blur(): void;
35
+ select(): void;
36
+ setSelectionRange(start: number, end: number, direction?: "forward" | "backward" | "none"): void;
37
+ checkValidity(): boolean;
38
+ reportValidity(): boolean;
39
+ setCustomValidity(message: string): void;
40
+ private adjustHeight;
41
+ private handleInput;
42
+ private handleChange;
43
+ private handleKeyDown;
44
+ private handleKeyUp;
45
+ private handleClear;
46
+ updated(changedProperties: PropertyValues): void;
47
+ private getResizeClass;
48
+ render(): import("lit-html").TemplateResult<1>;
49
+ }