@sula-tech/webcomponents 0.21.0 → 0.22.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 (122) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/sula-avatar_32.cjs.entry.js +105 -66
  3. package/dist/cjs/sula-avatar_32.cjs.entry.js.map +1 -1
  4. package/dist/cjs/sula-toast-stack.cjs.entry.js +4 -4
  5. package/dist/cjs/sula-toast.cjs.entry.js +2 -2
  6. package/dist/cjs/webcomponents.cjs.js +1 -1
  7. package/dist/collection/components/sula-calendar/sula-calendar.css +1 -1
  8. package/dist/collection/components/sula-calendar/sula-calendar.js +47 -2
  9. package/dist/collection/components/sula-calendar/sula-calendar.js.map +1 -1
  10. package/dist/collection/components/sula-calendar/sula-calendar.stories.js +36 -0
  11. package/dist/collection/components/sula-calendar/sula-calendar.stories.js.map +1 -1
  12. package/dist/collection/components/sula-checkbox/sula-checkbox.js +3 -3
  13. package/dist/collection/components/sula-chip/model/sula-chip.model.js +5 -0
  14. package/dist/collection/components/sula-chip/model/sula-chip.model.js.map +1 -1
  15. package/dist/collection/components/sula-chip/sula-chip.css +1 -1
  16. package/dist/collection/components/sula-chip/sula-chip.js +40 -5
  17. package/dist/collection/components/sula-chip/sula-chip.js.map +1 -1
  18. package/dist/collection/components/sula-chip/sula-chip.stories.js +14 -1
  19. package/dist/collection/components/sula-chip/sula-chip.stories.js.map +1 -1
  20. package/dist/collection/components/sula-dropdown/sula-dropdown.js +3 -3
  21. package/dist/collection/components/sula-icon/sula-icon.css +1 -1
  22. package/dist/collection/components/sula-icon/sula-icon.js +1 -1
  23. package/dist/collection/components/sula-icon-picker/sula-icon-picker.js +2 -2
  24. package/dist/collection/components/sula-loader/sula-loader.js +1 -1
  25. package/dist/collection/components/sula-menu/sula-menu.js +8 -8
  26. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.css +1 -1
  27. package/dist/collection/components/sula-menu-select-list/sula-menu-select-list.js +1 -1
  28. package/dist/collection/components/sula-progress-bar/sula-progress-bar.js +2 -2
  29. package/dist/collection/components/sula-radio-button/sula-radio-button.js +2 -2
  30. package/dist/collection/components/sula-search-bar/sula-search-bar.js +2 -2
  31. package/dist/collection/components/sula-segmented-control/sula-segmented-control.js +1 -1
  32. package/dist/collection/components/sula-switch/sula-switch.js +4 -4
  33. package/dist/collection/components/sula-table/sula-table.js +3 -3
  34. package/dist/collection/components/sula-table-body/sula-table-body.js +1 -1
  35. package/dist/collection/components/sula-table-cell/sula-table-cell.js +2 -2
  36. package/dist/collection/components/sula-table-head-cell/sula-table-head-cell.js +2 -2
  37. package/dist/collection/components/sula-table-header/sula-table-header.js +1 -1
  38. package/dist/collection/components/sula-table-row/sula-table-row.js +1 -1
  39. package/dist/collection/components/sula-tag/sula-tag.js +3 -3
  40. package/dist/collection/components/sula-textarea/sula-textarea.js +6 -6
  41. package/dist/collection/components/sula-textfield/sula-textfield.css +1 -1
  42. package/dist/collection/components/sula-textfield/sula-textfield.js +2 -2
  43. package/dist/collection/components/sula-tiles/sula-tiles.js +1 -1
  44. package/dist/collection/components/sula-timeline-list/sula-timeline-list.js +1 -1
  45. package/dist/collection/components/sula-toast/sula-toast.js +2 -2
  46. package/dist/collection/components/sula-toast-stack/sula-toast-stack.js +4 -4
  47. package/dist/collection/components/sula-toggle/sula-toggle.js +1 -1
  48. package/dist/collection/components/sula-tooltip/sula-tooltip.js +1 -1
  49. package/dist/components/{p-DtVQ10Ux.js → p-CXm0qTFO.js} +4 -4
  50. package/dist/components/{p-DtVQ10Ux.js.map → p-CXm0qTFO.js.map} +1 -1
  51. package/dist/components/{p-B_NGmHsm.js → p-D5G0T47I.js} +5 -5
  52. package/dist/components/{p-B_NGmHsm.js.map → p-D5G0T47I.js.map} +1 -1
  53. package/dist/components/{p-rm8YKiRh.js → p-DGAtNvje.js} +6 -6
  54. package/dist/components/p-DGAtNvje.js.map +1 -0
  55. package/dist/components/{p-VozP-C7p.js → p-DwyYG9oc.js} +5 -5
  56. package/dist/components/{p-VozP-C7p.js.map → p-DwyYG9oc.js.map} +1 -1
  57. package/dist/components/{p-rCU8ay8s.js → p-MPkJUrNl.js} +3 -3
  58. package/dist/components/{p-rCU8ay8s.js.map → p-MPkJUrNl.js.map} +1 -1
  59. package/dist/components/{p-BlH9b-mx.js → p-fAOl4EhI.js} +5 -5
  60. package/dist/components/{p-BlH9b-mx.js.map → p-fAOl4EhI.js.map} +1 -1
  61. package/dist/components/{p-DaG0HavP.js → p-jplrktAF.js} +4 -4
  62. package/dist/components/{p-DaG0HavP.js.map → p-jplrktAF.js.map} +1 -1
  63. package/dist/components/{p-BjgwRn5o.js → p-t7f_qmad.js} +7 -7
  64. package/dist/components/{p-BjgwRn5o.js.map → p-t7f_qmad.js.map} +1 -1
  65. package/dist/components/sula-avatar.js +1 -1
  66. package/dist/components/sula-badge.js +1 -1
  67. package/dist/components/sula-breadcrumb.js +1 -1
  68. package/dist/components/sula-button.js +1 -1
  69. package/dist/components/sula-calendar.js +31 -5
  70. package/dist/components/sula-calendar.js.map +1 -1
  71. package/dist/components/sula-checkbox.js +4 -4
  72. package/dist/components/sula-chip.js +22 -7
  73. package/dist/components/sula-chip.js.map +1 -1
  74. package/dist/components/sula-dropdown.js +1 -1
  75. package/dist/components/sula-icon-picker.js +6 -6
  76. package/dist/components/sula-icon.js +1 -1
  77. package/dist/components/sula-loader.js +1 -1
  78. package/dist/components/sula-menu-select-list.js +1 -1
  79. package/dist/components/sula-menu.js +9 -9
  80. package/dist/components/sula-modal.js +3 -3
  81. package/dist/components/sula-progress-bar.js +3 -3
  82. package/dist/components/sula-radio-button.js +2 -2
  83. package/dist/components/sula-search-bar.js +1 -1
  84. package/dist/components/sula-segmented-control.js +2 -2
  85. package/dist/components/sula-switch.js +4 -4
  86. package/dist/components/sula-table-body.js +1 -1
  87. package/dist/components/sula-table-cell.js +2 -2
  88. package/dist/components/sula-table-head-cell.js +2 -2
  89. package/dist/components/sula-table-header.js +1 -1
  90. package/dist/components/sula-table-row.js +1 -1
  91. package/dist/components/sula-table.js +3 -3
  92. package/dist/components/sula-tag.js +4 -4
  93. package/dist/components/sula-textarea.js +6 -6
  94. package/dist/components/sula-textfield.js +1 -1
  95. package/dist/components/sula-tiles.js +2 -2
  96. package/dist/components/sula-timeline-list.js +2 -2
  97. package/dist/components/sula-toast-stack.js +6 -6
  98. package/dist/components/sula-toast.js +1 -1
  99. package/dist/components/sula-toggle.js +2 -2
  100. package/dist/components/sula-tooltip.js +2 -2
  101. package/dist/esm/loader.js +1 -1
  102. package/dist/esm/sula-avatar_32.entry.js +105 -66
  103. package/dist/esm/sula-avatar_32.entry.js.map +1 -1
  104. package/dist/esm/sula-toast-stack.entry.js +4 -4
  105. package/dist/esm/sula-toast.entry.js +2 -2
  106. package/dist/esm/webcomponents.js +1 -1
  107. package/dist/types/components/sula-calendar/sula-calendar.d.ts +6 -0
  108. package/dist/types/components/sula-calendar/sula-calendar.stories.d.ts +10 -0
  109. package/dist/types/components/sula-chip/model/sula-chip.model.d.ts +4 -0
  110. package/dist/types/components/sula-chip/sula-chip.d.ts +5 -1
  111. package/dist/types/components/sula-chip/sula-chip.stories.d.ts +12 -1
  112. package/dist/types/components.d.ts +22 -2
  113. package/dist/webcomponents/{p-0004eff8.entry.js → p-22b10b91.entry.js} +264 -203
  114. package/dist/webcomponents/p-22b10b91.entry.js.map +1 -0
  115. package/dist/webcomponents/{p-9a8a1133.entry.js → p-c552c435.entry.js} +16 -16
  116. package/dist/webcomponents/{p-aafb83bd.entry.js → p-df271629.entry.js} +6 -6
  117. package/dist/webcomponents/webcomponents.esm.js +5 -3
  118. package/package.json +1 -1
  119. package/dist/components/p-rm8YKiRh.js.map +0 -1
  120. package/dist/webcomponents/p-0004eff8.entry.js.map +0 -1
  121. /package/dist/webcomponents/{p-9a8a1133.entry.js.map → p-c552c435.entry.js.map} +0 -0
  122. /package/dist/webcomponents/{p-aafb83bd.entry.js.map → p-df271629.entry.js.map} +0 -0
@@ -164,7 +164,7 @@ const f = class {
164
164
  render() {
165
165
  const e = this.intent;
166
166
  return t(r, {
167
- key: "033cb765479701c89c4305b674cb2f062805ff8e",
167
+ key: "be9ec64bd756310cbc5a41d218ff47c53f04de54",
168
168
  onMouseEnter: () => this.setHover(true),
169
169
  onMouseLeave: () => this.setHover(false),
170
170
  onFocusin: () => {
@@ -173,45 +173,45 @@ const f = class {
173
173
  },
174
174
  onFocusout: this.handleFocusOut
175
175
  }, t("div", {
176
- key: "4ca95d791c01ba275269643c08febb4dd2cd6390",
176
+ key: "712abcedfd6615db3de20ac66acd872f34db2737",
177
177
  part: "container",
178
178
  class: `toast-surface relative isolate box-border flex items-center w-full p-16 gap-12 rounded-sm border bg-opacity-toast ${e.border} ${this.animated ? "toast-surface--animated" : ""}`,
179
179
  style: {
180
180
  "--toast-border-color": e.borderColor
181
181
  }
182
182
  }, this.icon && t("div", {
183
- key: "374b49b8cbd5539aa50108e8cabf56a0bcea307f",
183
+ key: "656903d50bf672c3058c1ff1aa564a8f25ec4a71",
184
184
  part: "icon",
185
185
  "aria-hidden": "true",
186
186
  class: `flex shrink-0 items-center justify-center w-44 h-44 rounded-xxl ${e.background}`
187
187
  }, t("sula-icon", {
188
- key: "8d84accc4cd78d45c7f4dcf6d0c4db7e4035e698",
188
+ key: "649ec85c3ffe3c1d8ba49301df36dafcef68df19",
189
189
  icon: this.icon,
190
190
  customClass: `text-2xl ${e.color}`,
191
191
  class: "flex leading-none"
192
192
  })), t("div", {
193
- key: "59d41a02856d3a21010d34262ef49655052ea499",
193
+ key: "7c0259e7e101e37f740fc44f56ed6b8aba89ebce",
194
194
  part: "content",
195
195
  class: `flex min-w-0 flex-1 flex-col gap-8 ${this.closable ? "pr-48" : ""}`
196
196
  }, t("div", {
197
- key: "da6fc9aed421b82af750f14e5d6c4f4ee0f681dc",
197
+ key: "a8d4be58976ba60577b72fb18cf5adde5302e4a9",
198
198
  class: "flex flex-col gap-4"
199
199
  }, this.toastTitle && t("p", {
200
- key: "398c395a5618af66fb587d7126069fc6c7d15990",
200
+ key: "a68c9bef629be007bf7e8e2fe9e171103f0da293",
201
201
  class: "toast-copy toast-title text-label-medium-bold text-text-primary",
202
202
  title: this.toastTitle
203
203
  }, this.toastTitle), this.message && t("p", {
204
- key: "c080e743eba5851ea66924a2a0ce385ffeb08eef",
204
+ key: "fd3df25e0dbb73a322e55f5464699c6b36dc558c",
205
205
  class: "toast-copy toast-message text-label-medium-regular text-text-secondary",
206
206
  title: this.message
207
207
  }, this.message)), this.actionText && t("button", {
208
- key: "1ad5ab1b2da01e3e0152e29eae922e5d1578abcd",
208
+ key: "a64c83ed689f099928ed8e89ddfbd1a29f9d7d37",
209
209
  type: "button",
210
210
  class: `toast-copy toast-action self-start text-left text-label-medium-bold text-text-link underline rounded ${c}`,
211
211
  title: this.actionText,
212
212
  onClick: () => this.toastAction.emit()
213
213
  }, this.actionText)), this.closable && t("button", {
214
- key: "ca2e4ed6e51de390638648fdf60848953677b75a",
214
+ key: "ec4cb316444689bc05aa176f86b51c1b6d5e88af",
215
215
  part: "close-button",
216
216
  type: "button",
217
217
  "aria-label": this.closeLabel,
@@ -220,28 +220,28 @@ const f = class {
220
220
  reason: "close"
221
221
  })
222
222
  }, t("sula-icon", {
223
- key: "aad8dce6805aaf12ccf35a52577969cb5cfc53b6",
223
+ key: "9be25e6384c6a154a359a15ab2ec0d732befe282",
224
224
  "aria-hidden": "true",
225
225
  icon: "ph ph-x",
226
226
  customClass: "text-2xl",
227
227
  class: "flex leading-none"
228
228
  })), t("svg", {
229
- key: "f2f4bbd4c35a49362307c680254e78f022f613ca",
229
+ key: "8996d6309d39d79e5db7671fcbd8c1b6cbfeda5c",
230
230
  class: "toast-border",
231
231
  "aria-hidden": "true",
232
232
  focusable: "false"
233
233
  }, t("rect", {
234
- key: "7157a07053624e19067de813a91302dbaceb8c52",
234
+ key: "141c0776c32283daef59b261b04e4059beee3aca",
235
235
  class: "toast-border__path",
236
236
  pathLength: "1"
237
237
  }))), t("div", {
238
- key: "b828c4e5ffccb837eb91ee26705c25a43c156a66",
238
+ key: "318987642827371f72b5754827c8019a6a1b968a",
239
239
  class: "sr-only",
240
240
  role: "status",
241
241
  "aria-live": "polite",
242
242
  "aria-atomic": "true"
243
243
  }, this.announcement === "polite" ? this.announcedText : ""), t("div", {
244
- key: "67b9172a41c0941de2cc7d52f24ed0847d08c58e",
244
+ key: "6c1e12a9c15f11afb7f517d911441a868978c2ba",
245
245
  class: "sr-only",
246
246
  role: "alert",
247
247
  "aria-live": "assertive",
@@ -267,4 +267,4 @@ f.style = l;
267
267
 
268
268
  export { f as sula_toast };
269
269
  //# sourceMappingURL=sula-toast.entry.esm.js.map
270
- //# sourceMappingURL=p-9a8a1133.entry.js.map
270
+ //# sourceMappingURL=p-c552c435.entry.js.map
@@ -273,9 +273,9 @@ const h = class {
273
273
  const t = this.expanded;
274
274
  const o = this.visibleItems;
275
275
  return e(a, {
276
- key: "55ee3279cbbc67fe6003dc204d2fe48e9b269104"
276
+ key: "f80b3b3f370e40ba87a261825af7ee9f55fe99dc"
277
277
  }, e("section", {
278
- key: "ca6b1575128bd40f8d9b8e8239d9e703320ebdaa",
278
+ key: "d5a233e0b204060a1bde1bb09eac204a5c8f5ca7",
279
279
  ref: t => this.region = t,
280
280
  role: "region",
281
281
  "aria-label": "Notificações",
@@ -296,7 +296,7 @@ const h = class {
296
296
  onFocusin: () => this.focused = true,
297
297
  onFocusout: this.handleFocusOut
298
298
  }, e("div", {
299
- key: "7be1b0a7fd0d71ca9bf58ffaa66135edb87f35f3",
299
+ key: "e409f3009f2c19839304f06b05b0409d9cc6a819",
300
300
  ref: t => this.list = t,
301
301
  class: {
302
302
  "toast-list relative flex flex-col gap-12": true,
@@ -340,7 +340,7 @@ const h = class {
340
340
  onToastAction: t => this.action(t, a.id)
341
341
  }));
342
342
  })))), e("div", {
343
- key: "2aebfdc1b1eb1aae37ece0dd36ab730ec8f6c33b",
343
+ key: "2b2eadddfde8a784d9c2f1c7f431d82619eb57dc",
344
344
  class: "sr-only",
345
345
  role: "status",
346
346
  "aria-live": "polite",
@@ -349,7 +349,7 @@ const h = class {
349
349
  }, this.announcements.filter((t => t.priority === "polite")).map((t => e("p", {
350
350
  key: t.version
351
351
  }, t.text)))), e("div", {
352
- key: "685b4903f4ea4b4055f4498425cce62746dcbaa8",
352
+ key: "0207426e568669405be5a1d99c47338d72607bdf",
353
353
  class: "sr-only",
354
354
  role: "alert",
355
355
  "aria-live": "assertive",
@@ -373,4 +373,4 @@ h.style = n;
373
373
 
374
374
  export { h as sula_toast_stack };
375
375
  //# sourceMappingURL=sula-toast-stack.entry.esm.js.map
376
- //# sourceMappingURL=p-aafb83bd.entry.js.map
376
+ //# sourceMappingURL=p-df271629.entry.js.map
@@ -15,7 +15,7 @@ export { s as setNonce } from "./p-BL15Tt3m.js";
15
15
 
16
16
  patchBrowser().then((async e => {
17
17
  await t();
18
- return a([ [ "p-0004eff8", [ [ 1, "sula-icon-picker", {
18
+ return a([ [ "p-22b10b91", [ [ 1, "sula-icon-picker", {
19
19
  label: [ 1025 ],
20
20
  required: [ 1028 ],
21
21
  disabled: [ 1028 ],
@@ -60,6 +60,7 @@ patchBrowser().then((async e => {
60
60
  range: [ 4 ],
61
61
  allowTyping: [ 4, "allow-typing" ],
62
62
  inline: [ 4 ],
63
+ compact: [ 4 ],
63
64
  firstDayOfWeek: [ 2, "first-day-of-week" ],
64
65
  closeOnSelect: [ 4, "close-on-select" ],
65
66
  showCalendar: [ 32 ],
@@ -74,6 +75,7 @@ patchBrowser().then((async e => {
74
75
  appearance: [ 1025 ],
75
76
  disabled: [ 1028 ],
76
77
  items: [ 1040 ],
78
+ itemsPlacement: [ 1025, "items-placement" ],
77
79
  selected: [ 1028 ],
78
80
  isFocused: [ 32 ],
79
81
  showItems: [ 32 ]
@@ -260,7 +262,7 @@ patchBrowser().then((async e => {
260
262
  } ], [ 0, "sula-icon", {
261
263
  icon: [ 1 ],
262
264
  customClass: [ 1, "custom-class" ]
263
- } ] ] ], [ "p-9a8a1133", [ [ 1, "sula-toast", {
265
+ } ] ] ], [ "p-c552c435", [ [ 1, "sula-toast", {
264
266
  toastTitle: [ 1, "toast-title" ],
265
267
  message: [ 1 ],
266
268
  type: [ 1 ],
@@ -280,7 +282,7 @@ patchBrowser().then((async e => {
280
282
  duration: [ "handleContentChange" ],
281
283
  announcement: [ "updateAnnouncement" ],
282
284
  paused: [ "updateTimeout" ]
283
- } ] ] ], [ "p-aafb83bd", [ [ 1, "sula-toast-stack", {
285
+ } ] ] ], [ "p-df271629", [ [ 1, "sula-toast-stack", {
284
286
  items: [ 16 ],
285
287
  hovering: [ 32 ],
286
288
  focused: [ 32 ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sula-tech/webcomponents",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "A web component library built with Stencil",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"file":"p-rm8YKiRh.js","mappings":"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","names":["this","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sula-textfield/model/sula-textfield.model.ts","node_modules/.pnpm/vanilla-masker@1.2.0/node_modules/vanilla-masker/lib/vanilla-masker.js","src/components/sula-textfield/sula-textfield.scss?tag=sula-textfield&encapsulation=shadow","src/components/sula-textfield/sula-textfield.tsx"],"sourcesContent":["export enum SulaTextfieldType {\n Text = 'text',\n Password = 'password',\n}\n\nexport enum SulaTextfieldStatus {\n Default = 'default',\n Error = 'error',\n}\n","(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.VMasker = factory();\n }\n}(this, function() {\n var DIGIT = \"9\",\n ALPHA = \"A\",\n ALPHANUM = \"S\",\n BY_PASS_KEYS = [9, 16, 17, 18, 36, 37, 38, 39, 40, 91, 92, 93],\n isAllowedKeyCode = function(keyCode) {\n for (var i = 0, len = BY_PASS_KEYS.length; i < len; i++) {\n if (keyCode == BY_PASS_KEYS[i]) {\n return false;\n }\n }\n return true;\n },\n mergeMoneyOptions = function(opts) {\n opts = opts || {};\n opts = {\n delimiter: opts.delimiter || \".\",\n lastOutput: opts.lastOutput,\n precision: opts.hasOwnProperty(\"precision\") ? opts.precision : 2,\n separator: opts.separator || \",\",\n showSignal: opts.showSignal,\n suffixUnit: opts.suffixUnit && (\" \" + opts.suffixUnit.replace(/[\\s]/g,'')) || \"\",\n unit: opts.unit && (opts.unit.replace(/[\\s]/g,'') + \" \") || \"\",\n zeroCents: opts.zeroCents\n };\n opts.moneyPrecision = opts.zeroCents ? 0 : opts.precision;\n return opts;\n },\n // Fill wildcards past index in output with placeholder\n addPlaceholdersToOutput = function(output, index, placeholder) {\n for (; index < output.length; index++) {\n if(output[index] === DIGIT || output[index] === ALPHA || output[index] === ALPHANUM) {\n output[index] = placeholder;\n }\n }\n return output;\n }\n ;\n\n var VanillaMasker = function(elements) {\n this.elements = elements;\n };\n\n VanillaMasker.prototype.unbindElementToMask = function() {\n for (var i = 0, len = this.elements.length; i < len; i++) {\n this.elements[i].lastOutput = \"\";\n this.elements[i].onkeyup = false;\n this.elements[i].onkeydown = false;\n\n if (this.elements[i].value.length) {\n this.elements[i].value = this.elements[i].value.replace(/\\D/g, '');\n }\n }\n };\n\n VanillaMasker.prototype.bindElementToMask = function(maskFunction) {\n var that = this,\n onType = function(e) {\n e = e || window.event;\n var source = e.target || e.srcElement;\n\n if (isAllowedKeyCode(e.keyCode)) {\n setTimeout(function() {\n that.opts.lastOutput = source.lastOutput;\n source.value = VMasker[maskFunction](source.value, that.opts);\n source.lastOutput = source.value;\n if (source.setSelectionRange && that.opts.suffixUnit) {\n source.setSelectionRange(source.value.length, (source.value.length - that.opts.suffixUnit.length));\n }\n }, 0);\n }\n }\n ;\n for (var i = 0, len = this.elements.length; i < len; i++) {\n this.elements[i].lastOutput = \"\";\n this.elements[i].onkeyup = onType;\n if (this.elements[i].value.length) {\n this.elements[i].value = VMasker[maskFunction](this.elements[i].value, this.opts);\n }\n }\n };\n\n VanillaMasker.prototype.maskMoney = function(opts) {\n this.opts = mergeMoneyOptions(opts);\n this.bindElementToMask(\"toMoney\");\n };\n\n VanillaMasker.prototype.maskNumber = function() {\n this.opts = {};\n this.bindElementToMask(\"toNumber\");\n };\n \n VanillaMasker.prototype.maskAlphaNum = function() {\n this.opts = {};\n this.bindElementToMask(\"toAlphaNumeric\");\n };\n\n VanillaMasker.prototype.maskPattern = function(pattern) {\n this.opts = {pattern: pattern};\n this.bindElementToMask(\"toPattern\");\n };\n\n VanillaMasker.prototype.unMask = function() {\n this.unbindElementToMask();\n };\n\n var VMasker = function(el) {\n if (!el) {\n throw new Error(\"VanillaMasker: There is no element to bind.\");\n }\n var elements = (\"length\" in el) ? (el.length ? el : []) : [el];\n return new VanillaMasker(elements);\n };\n\n VMasker.toMoney = function(value, opts) {\n opts = mergeMoneyOptions(opts);\n if (opts.zeroCents) {\n opts.lastOutput = opts.lastOutput || \"\";\n var zeroMatcher = (\"(\"+ opts.separator +\"[0]{0,\"+ opts.precision +\"})\"),\n zeroRegExp = new RegExp(zeroMatcher, \"g\"),\n digitsLength = value.toString().replace(/[\\D]/g, \"\").length || 0,\n lastDigitLength = opts.lastOutput.toString().replace(/[\\D]/g, \"\").length || 0\n ;\n value = value.toString().replace(zeroRegExp, \"\");\n if (digitsLength < lastDigitLength) {\n value = value.slice(0, value.length - 1);\n }\n }\n var number = value.toString().replace(/[\\D]/g, \"\"),\n clearDelimiter = new RegExp(\"^(0|\\\\\"+ opts.delimiter +\")\"),\n clearSeparator = new RegExp(\"(\\\\\"+ opts.separator +\")$\"),\n money = number.substr(0, number.length - opts.moneyPrecision),\n masked = money.substr(0, money.length % 3),\n cents = new Array(opts.precision + 1).join(\"0\")\n ;\n money = money.substr(money.length % 3, money.length);\n for (var i = 0, len = money.length; i < len; i++) {\n if (i % 3 === 0) {\n masked += opts.delimiter;\n }\n masked += money[i];\n }\n masked = masked.replace(clearDelimiter, \"\");\n masked = masked.length ? masked : \"0\";\n var signal = \"\";\n if(opts.showSignal === true) {\n signal = value < 0 || (value.startsWith && value.startsWith('-')) ? \"-\" : \"\";\n }\n if (!opts.zeroCents) {\n var beginCents = number.length - opts.precision,\n centsValue = number.substr(beginCents, opts.precision),\n centsLength = centsValue.length,\n centsSliced = (opts.precision > centsLength) ? opts.precision : centsLength\n ;\n cents = (cents + centsValue).slice(-centsSliced);\n }\n var output = opts.unit + signal + masked + opts.separator + cents;\n return output.replace(clearSeparator, \"\") + opts.suffixUnit;\n };\n\n VMasker.toPattern = function(value, opts) {\n var pattern = (typeof opts === 'object' ? opts.pattern : opts),\n patternChars = pattern.replace(/\\W/g, ''),\n output = pattern.split(\"\"),\n values = value.toString().replace(/\\W/g, \"\"),\n charsValues = values.replace(/\\W/g, ''),\n index = 0,\n i,\n outputLength = output.length,\n placeholder = (typeof opts === 'object' ? opts.placeholder : undefined)\n ;\n \n for (i = 0; i < outputLength; i++) {\n // Reached the end of input\n if (index >= values.length) {\n if (patternChars.length == charsValues.length) {\n return output.join(\"\");\n }\n else if ((placeholder !== undefined) && (patternChars.length > charsValues.length)) {\n return addPlaceholdersToOutput(output, i, placeholder).join(\"\");\n }\n else {\n break;\n }\n }\n // Remaining chars in input\n else{\n if ((output[i] === DIGIT && values[index].match(/[0-9]/)) ||\n (output[i] === ALPHA && values[index].match(/[a-zA-Z]/)) ||\n (output[i] === ALPHANUM && values[index].match(/[0-9a-zA-Z]/))) {\n output[i] = values[index++];\n } else if (output[i] === DIGIT || output[i] === ALPHA || output[i] === ALPHANUM) {\n if(placeholder !== undefined){\n return addPlaceholdersToOutput(output, i, placeholder).join(\"\");\n }\n else{\n return output.slice(0, i).join(\"\");\n }\n }\n }\n }\n return output.join(\"\").substr(0, i);\n };\n\n VMasker.toNumber = function(value) {\n return value.toString().replace(/(?!^-)[^0-9]/g, \"\");\n };\n \n VMasker.toAlphaNumeric = function(value) {\n return value.toString().replace(/[^a-z0-9 ]+/i, \"\");\n };\n\n return VMasker;\n}));\n",":host {\n display: block;\n}\n\n.button-focus {\n outline: 2px solid var(--color-feedback-informational) !important;\n outline-offset: 2px !important;\n}\n\n.button-error {\n outline: 2px solid var(--color-feedback-error) !important;\n outline-offset: 2px !important;\n}\n\n.from-down {\n animation: from-down 0.2s ease-in-out;\n}\n\n.from-up {\n animation: from-up 0.2s ease-in-out;\n}\n\n@keyframes from-down {\n from {\n transform: translateY(75%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n\n@keyframes from-up {\n from {\n transform: translateY(-75%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n","import { Component, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { SulaTextfieldStatus, SulaTextfieldType } from './model/sula-textfield.model';\nimport VMasker from 'vanilla-masker';\n\n@Component({\n tag: 'sula-textfield',\n styleUrl: 'sula-textfield.scss',\n shadow: true,\n})\nexport class SulaTextfield {\n /**\n * Value for the input.\n */\n @Prop({ mutable: true })\n value?: string;\n\n /**\n * The textfield type\n */\n @Prop() type: SulaTextfieldType = SulaTextfieldType.Text;\n\n /**\n * The textfield status\n */\n @Prop({ mutable: true }) status: SulaTextfieldStatus = SulaTextfieldStatus.Default;\n\n /**\n * The textfield label\n */\n @Prop() label: string;\n\n /**\n * The textfield placeholder\n */\n @Prop() placeholder: string;\n\n /**\n * The textfield is disabled\n */\n @Prop({ mutable: true }) disabled: boolean;\n\n /**\n * The textfield is read only, blocking typing while keeping it focusable\n */\n @Prop() readOnly: boolean = false;\n\n /**\n * The help text for textfield\n */\n @Prop() helpText?: string;\n\n /**\n * The textfield max length\n */\n @Prop() maxLength?: number;\n\n /**\n * The textfield icon\n */\n @Prop() icon?: string;\n\n /**\n * Event emitted when input value changes.\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Event emitted when input value changes without mask pattern applied.\n */\n @Event()\n valueChangedWithoutMask: EventEmitter<string>;\n\n /**\n * The textfield mask pattern\n * The mask pattern should follow the VMasker pattern format\n * More info: https://github.com/vanilla-masker/vanilla-masker?tab=readme-ov-file#custom-pattern\n */\n @Prop()\n maskPattern?: string | string[];\n\n /**\n * Optional manual switch lengths used to switch between mask patterns.\n * If not provided, switch lengths are automatically inferred from `maskPattern`.\n *\n * - When number: switches between first and second pattern at this length\n * - When array: defines multiple switch points for multiple patterns\n * Example: [11, 14] means 0-11 uses first pattern, 12-14 uses second, 15+ uses third\n */\n @Prop()\n maskPatternSwitchMaxLength?: number | number[];\n\n /**\n * Event emitted when input is focused.\n */\n @Event()\n focusedOn: EventEmitter<void>;\n\n /**\n * Event emitted when input is focused out.\n */\n @Event()\n focusedOut: EventEmitter<void>;\n\n @State()\n inputIsOpen = false;\n\n @State()\n textValue: string = '';\n\n @State()\n showPassword = false;\n\n @State()\n inputIsFocused = false;\n\n @Watch('value')\n watchValueHandler(newValue: string) {\n const normalizedValue = newValue || '';\n this.textValue = normalizedValue;\n\n if (this.inputElement && this.inputElement.value !== normalizedValue) {\n const cursorPosition = this.inputElement.selectionStart;\n this.inputElement.value = normalizedValue;\n\n if (this.hasMaskPatternConfigured()) {\n this.handleInputMask(normalizedValue);\n this.textValue = this.inputElement.value;\n }\n\n if (this.inputIsFocused && cursorPosition !== null) {\n const newPosition = Math.min(cursorPosition, this.inputElement.value.length);\n this.inputElement.setSelectionRange(newPosition, newPosition);\n }\n }\n\n if (this.textValue && this.textValue.trim().length > 0) {\n this.inputIsOpen = true;\n this.changeElementsStyle();\n } else if (!this.inputIsFocused) {\n this.inputIsOpen = false;\n this.changeElementsStyle();\n }\n }\n\n @Watch('maskPattern')\n watchMaskPatternHandler() {\n this.syncMaskState();\n }\n\n @Watch('maskPatternSwitchMaxLength')\n watchMaskPatternSwitchMaxLengthHandler() {\n this.syncMaskState();\n }\n\n inputContainer: HTMLDivElement;\n inputElement: HTMLInputElement;\n labelElement: HTMLDivElement;\n\n node?: HTMLElement;\n\n @Listen('click', { target: 'document' })\n handleClick(event: Event) {\n if (!this.node || !this.inputIsFocused) return;\n\n const clickInside = event.composedPath().includes(this.node);\n\n if (!clickInside) {\n this.toggleOptions(false);\n this.focusedOut.emit();\n this.inputIsFocused = false;\n }\n }\n\n componentWillLoad() {\n if (this.value && this.value.trim().length > 0) {\n this.textValue = this.value;\n this.inputIsOpen = true;\n }\n }\n\n componentDidLoad() {\n if (this.value && this.value.trim().length > 0 && this.inputElement) {\n this.inputElement.value = this.value;\n this.textValue = this.value;\n }\n\n if (this.textValue && this.textValue.trim().length > 0) {\n this.changeElementsStyle();\n }\n\n if (this.hasMaskPatternConfigured() && this.inputElement) {\n this.handleInputMask();\n this.textValue = this.inputElement.value;\n this.value = this.inputElement.value;\n }\n }\n\n handleInputClick = () => {\n this.toggleOptions(true);\n };\n\n toggleOptions(inputIsOpen: boolean) {\n if ((this.inputIsOpen && this.textValue && this.textValue.length > 0) || this.disabled) return;\n\n this.inputIsOpen = inputIsOpen;\n this.changeElementsStyle();\n this.inputElement.focus();\n }\n\n changeElementsStyle() {\n if (!this.inputContainer || !this.labelElement) return;\n\n this.inputContainer.style.display = this.inputIsOpen ? 'flex' : 'none';\n this.labelElement.style.display = this.inputIsOpen ? 'none' : 'block';\n if (!this.inputIsOpen) {\n this.labelElement.classList.add('from-up');\n }\n }\n\n handleInputChanges = (event: InputEvent) => {\n const newValue = (event.target as HTMLInputElement).value;\n let valueToPersist = newValue;\n\n if (this.hasMaskPatternConfigured() && this.inputElement) {\n this.handleInputMask(newValue);\n valueToPersist = this.inputElement.value;\n }\n this.valueChangedWithoutMask.emit(valueToPersist.replace(/\\D/g, ''));\n this.textValue = valueToPersist;\n this.value = valueToPersist;\n\n this.valueChanged.emit(valueToPersist);\n };\n\n handleFocus = () => {\n if (this.disabled) return;\n this.toggleOptions(true);\n this.inputElement.focus();\n };\n\n handleBlur = () => {\n this.toggleOptions(false);\n\n this.focusedOut.emit();\n this.inputIsFocused = false;\n };\n\n handleInputFocus = () => {\n this.focusedOn.emit();\n this.inputIsFocused = true;\n };\n\n handleIconClick = (event: MouseEvent) => {\n if (this.type === SulaTextfieldType.Password) {\n event.stopPropagation();\n this.handlePasswordIconClicked();\n }\n };\n\n handleInputMask(inputValue?: string) {\n if (!this.inputElement) return;\n\n const valueWithoutMask = (inputValue ?? this.inputElement.value ?? '').replace(/[^a-zA-Z0-9]/g, '');\n const maskPattern = this.getMaskPatternByValueLength(valueWithoutMask, inputValue ?? this.inputElement.value ?? '');\n if (!maskPattern) return;\n\n VMasker(this.inputElement).unMask();\n this.inputElement.value = (VMasker as any).toPattern(valueWithoutMask, maskPattern);\n }\n\n private syncMaskState() {\n if (!this.inputElement) return;\n\n if (!this.hasMaskPatternConfigured()) {\n VMasker(this.inputElement).unMask();\n return;\n }\n\n this.handleInputMask();\n this.textValue = this.inputElement.value;\n this.value = this.inputElement.value;\n }\n\n private hasMaskPatternConfigured(): boolean {\n return this.getMaskPatterns().length > 0;\n }\n\n private getMaskPatterns(): string[] {\n if (Array.isArray(this.maskPattern)) {\n return this.maskPattern.map(pattern => pattern?.trim()).filter(Boolean);\n }\n\n if (typeof this.maskPattern === 'string' && this.maskPattern.trim().length > 0) {\n return [this.maskPattern.trim()];\n }\n\n return [];\n }\n\n private getMaskPatternByValueLength(inputValue?: string, rawInputValue?: string): string | undefined {\n const patterns = this.getMaskPatterns();\n if (patterns.length === 0) return undefined;\n if (patterns.length === 1) return patterns[0];\n\n const currentValueLength = (inputValue ?? '').length;\n const providedSwitchLengths = this.normalizeProvidedSwitchLengths();\n\n if (providedSwitchLengths.length === 0) {\n return this.getMaskPatternByAutoInference(patterns, currentValueLength, rawInputValue);\n }\n\n for (let i = 0; i < providedSwitchLengths.length; i++) {\n if (currentValueLength <= providedSwitchLengths[i]) {\n return patterns[Math.min(i, patterns.length - 1)];\n }\n }\n\n return patterns[patterns.length - 1];\n }\n\n private getMaskPatternByAutoInference(patterns: string[], currentValueLength: number, rawInputValue?: string): string {\n const capacities = patterns.map(pattern => (pattern.match(/[9AS]/g) || []).length);\n const eligibleCapacities = capacities.filter(capacity => capacity >= currentValueLength && capacity > 0);\n\n if (eligibleCapacities.length === 0) {\n return patterns[patterns.length - 1];\n }\n\n const selectedCapacity = Math.min(...eligibleCapacities);\n const candidateIndexes = capacities\n .map((capacity, index) => ({ capacity, index }))\n .filter(item => item.capacity === selectedCapacity)\n .map(item => item.index);\n\n if (candidateIndexes.length === 1) {\n return patterns[candidateIndexes[0]];\n }\n\n const rawLiterals = (rawInputValue ?? '').replace(/[a-zA-Z0-9]/g, '');\n if (rawLiterals.length > 0) {\n for (const candidateIndex of candidateIndexes) {\n const patternLiterals = patterns[candidateIndex].replace(/[9AS]/g, '');\n if (patternLiterals === rawLiterals) {\n return patterns[candidateIndex];\n }\n }\n }\n\n return patterns[candidateIndexes[0]];\n }\n\n private normalizeProvidedSwitchLengths(): number[] {\n if (Array.isArray(this.maskPatternSwitchMaxLength)) {\n return this.maskPatternSwitchMaxLength.filter(value => Number.isFinite(value) && value > 0).sort((a, b) => a - b);\n }\n\n if (typeof this.maskPatternSwitchMaxLength === 'number' && Number.isFinite(this.maskPatternSwitchMaxLength) && this.maskPatternSwitchMaxLength > 0) {\n return [this.maskPatternSwitchMaxLength];\n }\n\n return [];\n }\n\n handlePasswordIconClicked() {\n const cursorPosition = this.inputElement.selectionStart;\n const inputValue = this.inputElement.value;\n const inputType = this.showPassword ? SulaTextfieldType.Password : SulaTextfieldType.Text;\n\n this.inputElement.setAttribute('type', inputType);\n this.showPassword = !this.showPassword;\n\n setTimeout(() => {\n this.inputElement.value = inputValue;\n\n this.inputElement.setSelectionRange(cursorPosition, cursorPosition);\n }, 0);\n }\n\n getInputIcon() {\n if (this.type === SulaTextfieldType.Password) {\n return this.showPassword ? 'ph ph-eye' : 'ph ph-eye-slash';\n }\n\n return this.icon;\n }\n\n render() {\n return (\n <Host ref={node => (this.node = node)}>\n <div>\n <div\n id=\"button-container\"\n class={{\n 'flex items-center border rounded-sm px-16 outline-none h-[72px] caret-brand-primary': true,\n 'flex-row justify-between': !!this.icon || this.type === SulaTextfieldType.Password,\n 'button-focus': this.inputIsFocused && !this.disabled && this.status === SulaTextfieldStatus.Default,\n 'button-error': this.status === SulaTextfieldStatus.Error && !this.disabled,\n 'bg-states-bg-disabled border-line-general cursor-not-allowed': this.disabled,\n 'bg-surface-body border-line-input cursor-pointer': !this.disabled,\n }}\n tabIndex={0}\n onFocus={this.handleFocus}\n onClick={this.handleInputClick}\n >\n <div class={{ 'hidden flex-col w-full': true, 'pr-12': !!this.icon }} ref={node => (this.inputContainer = node)}>\n <label class={{ 'font-bold text-sm from-down': true, 'text-text-primary': !this.disabled, 'text-text-disabled': this.disabled }}>{this.label}</label>\n <input\n type={this.type}\n ref={node => (this.inputElement = node)}\n placeholder={this.placeholder}\n class={{ 'outline-none text-base bg-transparent': true, 'text-text-primary': !this.disabled, 'text-text-disabled': this.disabled }}\n onInput={this.handleInputChanges}\n onFocus={this.handleInputFocus}\n value={this.textValue}\n disabled={this.disabled}\n readOnly={this.readOnly}\n />\n </div>\n\n <div\n id=\"textfield-label\"\n class={{ 'text-base flex items-center': true, 'text-text-primary': !this.disabled, 'text-text-disabled': this.disabled }}\n ref={node => (this.labelElement = node)}\n >\n {this.label}\n </div>\n\n {(!!this.icon || this.type === SulaTextfieldType.Password) && (\n <div class=\"flex items-center justify-center\" onClick={this.handleIconClick}>\n <sula-icon icon={this.getInputIcon()} customClass={`text-2xl ${this.disabled ? 'text-icon-disabled' : 'text-icon-primary'}`} />\n </div>\n )}\n </div>\n\n {(this.helpText || this.maxLength) && !this.disabled && (\n <div class=\"flex justify-between items-center px-16 mt-4 text-sm\">\n {this.helpText && (\n <div\n id=\"textfield-help-text\"\n class={{ 'text-text-primary': this.status === SulaTextfieldStatus.Default, 'text-feedback-error': this.status === SulaTextfieldStatus.Error }}\n >\n {this.helpText}\n </div>\n )}\n {this.maxLength && (\n <div\n id=\"max-length-container\"\n class={{ 'text-text-primary': this.status === SulaTextfieldStatus.Default, 'text-feedback-error': this.status === SulaTextfieldStatus.Error }}\n >\n {this.textValue ? this.textValue.length : 0}/{this.maxLength}\n </div>\n )}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}