@sula-tech/webcomponents 0.12.0 → 0.14.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.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sula-avatar_21.cjs.entry.js +71 -25
- package/dist/cjs/sula-avatar_21.cjs.entry.js.map +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/components/sula-dropdown/sula-dropdown.css +1 -1
- package/dist/collection/components/sula-dropdown/sula-dropdown.js +78 -9
- package/dist/collection/components/sula-dropdown/sula-dropdown.js.map +1 -1
- package/dist/collection/components/sula-dropdown/sula-dropdown.stories.js +130 -0
- package/dist/collection/components/sula-dropdown/sula-dropdown.stories.js.map +1 -1
- package/dist/collection/components/sula-textfield/sula-textfield.js +56 -21
- package/dist/collection/components/sula-textfield/sula-textfield.js.map +1 -1
- package/dist/collection/components/sula-textfield/sula-textfield.stories.js +69 -5
- package/dist/collection/components/sula-textfield/sula-textfield.stories.js.map +1 -1
- package/dist/components/sula-dropdown.js +23 -10
- package/dist/components/sula-dropdown.js.map +1 -1
- package/dist/components/sula-textfield.js +51 -15
- package/dist/components/sula-textfield.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sula-avatar_21.entry.js +71 -25
- package/dist/esm/sula-avatar_21.entry.js.map +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/types/components/sula-dropdown/sula-dropdown.d.ts +12 -0
- package/dist/types/components/sula-dropdown/sula-dropdown.stories.d.ts +27 -0
- package/dist/types/components/sula-textfield/sula-textfield.d.ts +9 -2
- package/dist/types/components/sula-textfield/sula-textfield.stories.d.ts +1 -0
- package/dist/types/components.d.ts +32 -6
- package/dist/webcomponents/{p-3c319b71.entry.js → p-01cb6887.entry.js} +94 -43
- package/dist/webcomponents/p-01cb6887.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +4 -1
- package/package.json +1 -1
- package/dist/webcomponents/p-3c319b71.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"sula-dropdown.js","mappings":"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","names":["SulaDropdown","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sula-dropdown/sula-dropdown.scss?tag=sula-dropdown&encapsulation=shadow","src/components/sula-dropdown/sula-dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.dropdown-focus {\n outline: 2px solid var(--color-feedback-informational) !important;\n outline-offset: 2px !important;\n}\n","import { Component, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { SulaMenuListItem, SulaMenuSelectListCustomEvent } from '../../components';\n\n@Component({\n tag: 'sula-dropdown',\n styleUrl: 'sula-dropdown.scss',\n shadow: true,\n})\nexport class SulaDropdown {\n /**\n * Dropdown label\n */\n @Prop({ mutable: true })\n label: string;\n\n /**\n * Dropdown is disabled\n */\n @Prop({ mutable: true })\n disabled: boolean = false;\n\n /**\n * Items for list\n */\n @Prop({ mutable: true })\n items: SulaMenuListItem[] = [];\n\n /**\n * Value for dropdown\n */\n @Prop({ mutable: true })\n value?: SulaMenuListItem;\n\n /**\n * Enable search/filter functionality in dropdown\n */\n @Prop({ reflect: true })\n searchable?: boolean;\n\n /**\n * Maximum height for dropdown menu in pixels\n */\n @Prop()\n menuMaxHeight: number = 260;\n\n /**\n * Event emitted when dropdown is clicked\n */\n @Event()\n dropdownClicked: EventEmitter<void>;\n\n /**\n * Event emitted when dropdown is focused\n */\n @Event()\n dropdownFocused: EventEmitter<void>;\n\n /**\n * Event emitted when dropdown is focused out\n */\n @Event()\n dropdownFocusedOut: EventEmitter<void>;\n\n /**\n * Event emitted when item is selected\n */\n @Event()\n menuItemSelected: EventEmitter<SulaMenuListItem>;\n\n @State()\n selectedItem?: SulaMenuListItem;\n\n @State()\n showItems = false;\n\n @State()\n isFocused = false;\n\n @State()\n searchTerm: string = '';\n\n @State()\n filteredItems: SulaMenuListItem[] = [];\n\n @State()\n openUpward: boolean = false;\n\n node?: HTMLElement;\n searchInputRef?: HTMLInputElement;\n\n @Watch('value')\n handleValueChange() {\n if (this.value) {\n this.selectedItem = this.value;\n }\n }\n\n @Watch('showItems')\n handleShowItemsChange(newValue: boolean) {\n if (!newValue) {\n this.searchTerm = '';\n this.filteredItems = [];\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n if (!this.node) return;\n\n const path = event.composedPath();\n const clickInside = path.some(el => el === this.node);\n\n if (!clickInside) {\n this.showItems = false;\n }\n }\n\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n if (this.showItems) {\n this.calculateMenuPosition();\n }\n }\n\n calculateMenuPosition() {\n if (!this.node) return;\n\n const rect = this.node.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n const buffer = 60; \n const requiredSpace = this.menuMaxHeight + buffer;\n\n this.openUpward = spaceBelow < requiredSpace && (spaceAbove > requiredSpace || spaceAbove > spaceBelow);\n }\n\n componentWillLoad() {\n if (this.value) {\n this.selectedItem = this.value;\n }\n }\n\n componentDidRender() {\n if (this.showItems) {\n this.calculateMenuPosition();\n \n if (this.searchable && this.searchInputRef) {\n this.searchInputRef.focus();\n }\n }\n }\n\n handleClick = () => {\n if (this.disabled) return;\n\n this.dropdownClicked.emit();\n\n if (this.items.length > 0) {\n this.showItems = !this.showItems;\n }\n\n if (this.searchable && this.showItems && this.searchInputRef) {\n this.searchInputRef.focus();\n }\n };\n\n handleItemSelected = (item: SulaMenuSelectListCustomEvent<SulaMenuListItem>) => {\n this.selectedItem = item.detail;\n this.searchTerm = '';\n this.menuItemSelected.emit(item.detail);\n\n setTimeout(() => {\n this.showItems = false;\n }, 0);\n };\n\n filterItems = () => {\n if (!this.searchTerm.trim()) {\n return this.items;\n }\n const term = this.searchTerm.toLowerCase();\n return this.items.filter(item => item.title.toLowerCase().includes(term));\n };\n\n handleSearchInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.searchTerm = target.value;\n this.filteredItems = this.filterItems();\n };\n\n getIconClass() {\n if (this.disabled) return 'text-icon-disabled';\n\n return 'text-text-primary';\n }\n\n handleFocus = () => {\n if (this.disabled) return;\n\n this.isFocused = true;\n this.dropdownFocused.emit();\n };\n\n handleBlur = () => {\n if (this.disabled) return;\n\n this.isFocused = false;\n this.dropdownFocusedOut.emit();\n };\n\n render() {\n return (\n <Host ref={node => (this.node = node)}>\n <div\n class={{\n 'flex justify-between items-center border border-line-input h-[72px] px-16 rounded-xl relative': true,\n 'bg-surface-body cursor-pointer': !this.disabled,\n 'bg-states-bg-disabled': this.disabled,\n 'dropdown-focus': this.isFocused,\n }}\n onClick={this.handleClick}\n tabIndex={0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <div class=\"flex flex-col w-full\">\n <label\n class={{\n 'text-base leading-4': !this.selectedItem && !(this.searchable && this.showItems),\n 'text-sm leading-4 font-bold': !!this.selectedItem || (this.searchable && this.showItems),\n 'text-text-primary': !this.disabled,\n 'text-text-disabled': this.disabled,\n }}\n >\n {this.label}\n </label>\n\n {this.searchable && this.showItems ? (\n <input\n ref={el => (this.searchInputRef = el)}\n type=\"text\"\n value={this.searchTerm}\n onInput={this.handleSearchInput}\n placeholder={this.selectedItem?.title || ''}\n class=\"w-full text-base text-text-primary bg-transparent border-none outline-none placeholder:text-text-secondary p-0 m-0 leading-4 pt-4\"\n />\n ) : (\n !!this.selectedItem && (\n <span\n class={{\n 'text-base leading-4 pt-4': true,\n 'text-text-primary': !this.disabled,\n 'text-text-disabled': this.disabled,\n }}\n >\n {this.selectedItem.title}\n </span>\n )\n )}\n </div>\n <div class=\"flex items-center justify-center ml-8 leading-6 text-2xl\">\n <sula-icon icon={`ph ph-caret-${this.showItems ? 'up' : 'down'}`} customClass={`${this.getIconClass()} text-2xl`}></sula-icon>\n </div>\n\n {this.showItems && (\n <div class={{\n 'absolute z-50 left-0 w-full transition-all duration-200 ease-in-out': true,\n 'bottom-[72px]': this.openUpward,\n 'top-[72px]': !this.openUpward,\n }}>\n {(() => {\n const itemsToShow = this.searchable && this.searchTerm.trim() ? this.filteredItems : this.items;\n const showNoResults = this.searchable && this.searchTerm.trim() && itemsToShow.length === 0;\n\n if (showNoResults) {\n return (\n <div class=\"bg-surface-body border border-line-general rounded-sm py-16 px-24 text-base text-text-secondary\">\n Nenhum resultado encontrado\n </div>\n );\n }\n\n return (\n <sula-menu-select-list\n items={itemsToShow}\n fullWidth={true}\n maxHeight={this.menuMaxHeight}\n selectedValue={this.selectedItem}\n onItemSelected={this.handleItemSelected}\n ></sula-menu-select-list>\n );\n })()}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"sula-dropdown.js","mappings":"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","names":["SulaDropdown","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sula-dropdown/sula-dropdown.scss?tag=sula-dropdown&encapsulation=shadow","src/components/sula-dropdown/sula-dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.dropdown-focus {\n outline: 2px solid var(--color-feedback-informational) !important;\n outline-offset: 2px !important;\n}\n","import { Component, Event, EventEmitter, Host, Listen, Prop, State, Watch, h } from '@stencil/core';\nimport { SulaMenuListItem, SulaMenuSelectListCustomEvent } from '../../components';\n\n@Component({\n tag: 'sula-dropdown',\n styleUrl: 'sula-dropdown.scss',\n shadow: true,\n})\nexport class SulaDropdown {\n /**\n * Dropdown label\n */\n @Prop({ mutable: true })\n label: string;\n\n /**\n * Dropdown is disabled\n */\n @Prop({ mutable: true })\n disabled: boolean = false;\n\n /**\n * Items for list\n */\n @Prop({ mutable: true })\n items: SulaMenuListItem[] = [];\n\n /**\n * Value for dropdown\n */\n @Prop({ mutable: true })\n value?: SulaMenuListItem;\n\n /**\n * Enable search/filter functionality in dropdown\n */\n @Prop({ reflect: true })\n searchable?: boolean;\n\n /**\n * Maximum height for dropdown menu in pixels\n */\n @Prop()\n menuMaxHeight: number = 260;\n\n /**\n * Maximum height for custom content area in pixels\n */\n @Prop()\n contentMaxHeight: number = 260;\n\n /**\n * Enable custom content via slot instead of items list\n */\n @Prop({ reflect: true })\n customContent?: boolean;\n\n /**\n * Close dropdown when an item is selected or content is clicked\n */\n @Prop()\n closeOnSelect: boolean = true;\n\n /**\n * Event emitted when dropdown is clicked\n */\n @Event()\n dropdownClicked: EventEmitter<void>;\n\n /**\n * Event emitted when dropdown is focused\n */\n @Event()\n dropdownFocused: EventEmitter<void>;\n\n /**\n * Event emitted when dropdown is focused out\n */\n @Event()\n dropdownFocusedOut: EventEmitter<void>;\n\n /**\n * Event emitted when item is selected\n */\n @Event()\n menuItemSelected: EventEmitter<SulaMenuListItem>;\n\n @State()\n selectedItem?: SulaMenuListItem;\n\n @State()\n showItems = false;\n\n @State()\n isFocused = false;\n\n @State()\n searchTerm: string = '';\n\n @State()\n filteredItems: SulaMenuListItem[] = [];\n\n @State()\n openUpward: boolean = false;\n\n node?: HTMLElement;\n searchInputRef?: HTMLInputElement;\n\n @Watch('value')\n handleValueChange() {\n if (this.value) {\n this.selectedItem = this.value;\n }\n }\n\n @Watch('showItems')\n handleShowItemsChange(newValue: boolean) {\n if (!newValue) {\n this.searchTerm = '';\n this.filteredItems = [];\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: Event) {\n if (!this.node) return;\n\n const path = event.composedPath();\n const clickInside = path.some(el => el === this.node);\n\n if (!clickInside) {\n this.showItems = false;\n }\n }\n\n @Listen('resize', { target: 'window' })\n handleWindowResize() {\n if (this.showItems) {\n this.calculateMenuPosition();\n }\n }\n\n calculateMenuPosition() {\n if (!this.node) return;\n\n const rect = this.node.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n const buffer = 60; \n const requiredSpace = (this.customContent ? this.contentMaxHeight : this.menuMaxHeight) + buffer;\n\n this.openUpward = spaceBelow < requiredSpace && (spaceAbove > requiredSpace || spaceAbove > spaceBelow);\n }\n\n componentWillLoad() {\n if (this.value) {\n this.selectedItem = this.value;\n }\n }\n\n componentDidRender() {\n if (this.showItems) {\n this.calculateMenuPosition();\n \n if (this.searchable && this.searchInputRef) {\n this.searchInputRef.focus();\n }\n }\n }\n\n handleClick = () => {\n if (this.disabled) return;\n\n this.dropdownClicked.emit();\n\n if (this.customContent || this.items.length > 0) {\n this.showItems = !this.showItems;\n }\n\n if (this.searchable && this.showItems && this.searchInputRef) {\n this.searchInputRef.focus();\n }\n };\n\n handleItemSelected = (item: SulaMenuSelectListCustomEvent<SulaMenuListItem>) => {\n this.selectedItem = item.detail;\n this.searchTerm = '';\n this.menuItemSelected.emit(item.detail);\n\n if (this.closeOnSelect) {\n setTimeout(() => {\n this.showItems = false;\n }, 0);\n }\n };\n\n filterItems = () => {\n if (!this.searchTerm.trim()) {\n return this.items;\n }\n const term = this.searchTerm.toLowerCase();\n return this.items.filter(item => item.title.toLowerCase().includes(term));\n };\n\n handleSearchInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.searchTerm = target.value;\n this.filteredItems = this.filterItems();\n };\n\n getIconClass() {\n if (this.disabled) return 'text-icon-disabled';\n\n return 'text-text-primary';\n }\n\n handleFocus = () => {\n if (this.disabled) return;\n\n this.isFocused = true;\n this.dropdownFocused.emit();\n };\n\n handleBlur = () => {\n if (this.disabled) return;\n\n this.isFocused = false;\n this.dropdownFocusedOut.emit();\n };\n\n render() {\n return (\n <Host ref={node => (this.node = node)}>\n <div\n class={{\n 'flex justify-between items-center border border-line-input h-[72px] px-16 rounded-xl relative': true,\n 'bg-surface-body cursor-pointer': !this.disabled,\n 'bg-states-bg-disabled': this.disabled,\n 'dropdown-focus': this.isFocused,\n }}\n onClick={this.handleClick}\n tabIndex={0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <div class=\"flex flex-col w-full\">\n <label\n class={{\n 'text-base leading-4': !this.selectedItem && !(this.searchable && this.showItems),\n 'text-sm leading-4 font-bold': !!this.selectedItem || (this.searchable && this.showItems),\n 'text-text-primary': !this.disabled,\n 'text-text-disabled': this.disabled,\n }}\n >\n {this.label}\n </label>\n\n {this.searchable && this.showItems ? (\n <input\n ref={el => (this.searchInputRef = el)}\n type=\"text\"\n value={this.searchTerm}\n onInput={this.handleSearchInput}\n placeholder={this.selectedItem?.title || ''}\n class=\"w-full text-base text-text-primary bg-transparent border-none outline-none placeholder:text-text-secondary p-0 m-0 leading-4 pt-4\"\n />\n ) : (\n !!this.selectedItem && (\n <span\n class={{\n 'text-base leading-4 pt-4': true,\n 'text-text-primary': !this.disabled,\n 'text-text-disabled': this.disabled,\n }}\n >\n {this.selectedItem.title}\n </span>\n )\n )}\n </div>\n <div class=\"flex items-center justify-center ml-8 leading-6 text-2xl\">\n <sula-icon icon={`ph ph-caret-${this.showItems ? 'up' : 'down'}`} customClass={`${this.getIconClass()} text-2xl`}></sula-icon>\n </div>\n\n {this.showItems && (\n <div\n class={{\n 'absolute z-50 left-0 w-full transition-all duration-200 ease-in-out': true,\n 'bottom-[72px]': this.openUpward,\n 'top-[72px]': !this.openUpward,\n }}\n onClick={!this.closeOnSelect ? (e: Event) => e.stopPropagation() : undefined}\n >\n {this.customContent ? (\n <div class=\"bg-surface-body border border-line-general rounded-sm overflow-auto\" style={{ maxHeight: `${this.contentMaxHeight}px` }}>\n <slot></slot>\n </div>\n ) : (() => {\n const itemsToShow = this.searchable && this.searchTerm.trim() ? this.filteredItems : this.items;\n const showNoResults = this.searchable && this.searchTerm.trim() && itemsToShow.length === 0;\n\n if (showNoResults) {\n return (\n <div class=\"bg-surface-body border border-line-general rounded-sm py-16 px-24 text-base text-text-secondary\">\n Nenhum resultado encontrado\n </div>\n );\n }\n\n return (\n <sula-menu-select-list\n items={itemsToShow}\n fullWidth={true}\n maxHeight={this.menuMaxHeight}\n selectedValue={this.selectedItem}\n onItemSelected={this.handleItemSelected}\n ></sula-menu-select-list>\n );\n })()}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -267,10 +267,6 @@ const SulaTextfield$1 = /*@__PURE__*/ proxyCustomElement(class SulaTextfield ext
|
|
|
267
267
|
* The textfield status
|
|
268
268
|
*/
|
|
269
269
|
this.status = SulaTextfieldStatus.Default;
|
|
270
|
-
/**
|
|
271
|
-
* Max input length used to switch between the first and second mask pattern.
|
|
272
|
-
*/
|
|
273
|
-
this.maskPatternSwitchMaxLength = 14;
|
|
274
270
|
this.inputIsOpen = false;
|
|
275
271
|
this.textValue = '';
|
|
276
272
|
this.showPassword = false;
|
|
@@ -389,13 +385,13 @@ const SulaTextfield$1 = /*@__PURE__*/ proxyCustomElement(class SulaTextfield ext
|
|
|
389
385
|
}
|
|
390
386
|
}
|
|
391
387
|
handleInputMask(inputValue) {
|
|
392
|
-
var _a;
|
|
388
|
+
var _a, _b;
|
|
393
389
|
if (!this.inputElement)
|
|
394
390
|
return;
|
|
395
|
-
const
|
|
391
|
+
const valueWithoutMask = ((_a = inputValue !== null && inputValue !== void 0 ? inputValue : this.inputElement.value) !== null && _a !== void 0 ? _a : '').replace(/[^a-zA-Z0-9]/g, '');
|
|
392
|
+
const maskPattern = this.getMaskPatternByValueLength(valueWithoutMask, (_b = inputValue !== null && inputValue !== void 0 ? inputValue : this.inputElement.value) !== null && _b !== void 0 ? _b : '');
|
|
396
393
|
if (!maskPattern)
|
|
397
394
|
return;
|
|
398
|
-
const valueWithoutMask = ((_a = inputValue !== null && inputValue !== void 0 ? inputValue : this.inputElement.value) !== null && _a !== void 0 ? _a : '').replace(/[^a-zA-Z0-9]/g, '');
|
|
399
395
|
VMasker(this.inputElement).unMask();
|
|
400
396
|
this.inputElement.value = VMasker.toPattern(valueWithoutMask, maskPattern);
|
|
401
397
|
}
|
|
@@ -422,17 +418,57 @@ const SulaTextfield$1 = /*@__PURE__*/ proxyCustomElement(class SulaTextfield ext
|
|
|
422
418
|
}
|
|
423
419
|
return [];
|
|
424
420
|
}
|
|
425
|
-
getMaskPatternByValueLength(inputValue) {
|
|
426
|
-
var _a, _b, _c;
|
|
421
|
+
getMaskPatternByValueLength(inputValue, rawInputValue) {
|
|
427
422
|
const patterns = this.getMaskPatterns();
|
|
428
423
|
if (patterns.length === 0)
|
|
429
424
|
return undefined;
|
|
430
425
|
if (patterns.length === 1)
|
|
431
426
|
return patterns[0];
|
|
432
|
-
const currentValueLength = (
|
|
433
|
-
const
|
|
434
|
-
|
|
435
|
-
|
|
427
|
+
const currentValueLength = (inputValue !== null && inputValue !== void 0 ? inputValue : '').length;
|
|
428
|
+
const providedSwitchLengths = this.normalizeProvidedSwitchLengths();
|
|
429
|
+
if (providedSwitchLengths.length === 0) {
|
|
430
|
+
return this.getMaskPatternByAutoInference(patterns, currentValueLength, rawInputValue);
|
|
431
|
+
}
|
|
432
|
+
for (let i = 0; i < providedSwitchLengths.length; i++) {
|
|
433
|
+
if (currentValueLength <= providedSwitchLengths[i]) {
|
|
434
|
+
return patterns[Math.min(i, patterns.length - 1)];
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
return patterns[patterns.length - 1];
|
|
438
|
+
}
|
|
439
|
+
getMaskPatternByAutoInference(patterns, currentValueLength, rawInputValue) {
|
|
440
|
+
const capacities = patterns.map(pattern => (pattern.match(/[9AS]/g) || []).length);
|
|
441
|
+
const eligibleCapacities = capacities.filter(capacity => capacity >= currentValueLength && capacity > 0);
|
|
442
|
+
if (eligibleCapacities.length === 0) {
|
|
443
|
+
return patterns[patterns.length - 1];
|
|
444
|
+
}
|
|
445
|
+
const selectedCapacity = Math.min(...eligibleCapacities);
|
|
446
|
+
const candidateIndexes = capacities
|
|
447
|
+
.map((capacity, index) => ({ capacity, index }))
|
|
448
|
+
.filter(item => item.capacity === selectedCapacity)
|
|
449
|
+
.map(item => item.index);
|
|
450
|
+
if (candidateIndexes.length === 1) {
|
|
451
|
+
return patterns[candidateIndexes[0]];
|
|
452
|
+
}
|
|
453
|
+
const rawLiterals = (rawInputValue !== null && rawInputValue !== void 0 ? rawInputValue : '').replace(/[a-zA-Z0-9]/g, '');
|
|
454
|
+
if (rawLiterals.length > 0) {
|
|
455
|
+
for (const candidateIndex of candidateIndexes) {
|
|
456
|
+
const patternLiterals = patterns[candidateIndex].replace(/[9AS]/g, '');
|
|
457
|
+
if (patternLiterals === rawLiterals) {
|
|
458
|
+
return patterns[candidateIndex];
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
return patterns[candidateIndexes[0]];
|
|
463
|
+
}
|
|
464
|
+
normalizeProvidedSwitchLengths() {
|
|
465
|
+
if (Array.isArray(this.maskPatternSwitchMaxLength)) {
|
|
466
|
+
return this.maskPatternSwitchMaxLength.filter(value => Number.isFinite(value) && value > 0).sort((a, b) => a - b);
|
|
467
|
+
}
|
|
468
|
+
if (typeof this.maskPatternSwitchMaxLength === 'number' && Number.isFinite(this.maskPatternSwitchMaxLength) && this.maskPatternSwitchMaxLength > 0) {
|
|
469
|
+
return [this.maskPatternSwitchMaxLength];
|
|
470
|
+
}
|
|
471
|
+
return [];
|
|
436
472
|
}
|
|
437
473
|
handlePasswordIconClicked() {
|
|
438
474
|
const cursorPosition = this.inputElement.selectionStart;
|
|
@@ -452,14 +488,14 @@ const SulaTextfield$1 = /*@__PURE__*/ proxyCustomElement(class SulaTextfield ext
|
|
|
452
488
|
return this.icon;
|
|
453
489
|
}
|
|
454
490
|
render() {
|
|
455
|
-
return (h(Host, { key: '
|
|
491
|
+
return (h(Host, { key: '0dbf51792e5bdc43328820106b083d194bbcae61', ref: node => (this.node = node) }, h("div", { key: '3659f51f5a9d0c75909e6a6939b8ff1b5c25e377' }, h("div", { key: '320da879fdea605e95525f54607c9cb285446133', id: "button-container", class: {
|
|
456
492
|
'flex items-center border rounded-sm px-16 outline-none h-[72px] caret-brand-primary': true,
|
|
457
493
|
'flex-row justify-between': !!this.icon || this.type === SulaTextfieldType.Password,
|
|
458
494
|
'button-focus': this.inputIsFocused && !this.disabled && this.status === SulaTextfieldStatus.Default,
|
|
459
495
|
'button-error': this.status === SulaTextfieldStatus.Error && !this.disabled,
|
|
460
496
|
'bg-states-bg-disabled border-line-general cursor-not-allowed': this.disabled,
|
|
461
497
|
'bg-surface-body border-line-input cursor-pointer': !this.disabled,
|
|
462
|
-
}, tabIndex: 0, onFocus: this.handleFocus, onClick: this.handleInputClick }, !this.disabled && (h("div", { key: '
|
|
498
|
+
}, tabIndex: 0, onFocus: this.handleFocus, onClick: this.handleInputClick }, !this.disabled && (h("div", { key: '44777180c60bb9a21ef64cffd98f465cf15af446', class: { 'hidden flex-col w-full': true, 'pr-12': !!this.icon }, ref: node => (this.inputContainer = node) }, h("label", { key: '75bc3b05a66ed7c00915842b275faf657b1784b3', class: "font-bold text-sm text-text-primary from-down" }, this.label), h("input", { key: '4f6bde78c385dc3c158c08be70f2277e56f7ab95', type: this.type, ref: node => (this.inputElement = node), placeholder: this.placeholder, class: "outline-none text-base text-text-primary bg-transparent", onInput: this.handleInputChanges, onFocus: this.handleInputFocus, value: this.textValue }))), h("div", { key: 'df7e84e77d3d05ba0328f736e6c03f45d32c9c76', id: "textfield-label", class: { 'text-base flex items-center': true, 'text-text-primary': !this.disabled, 'text-text-disabled': this.disabled }, ref: node => (this.labelElement = node) }, this.label), (!!this.icon || this.type === SulaTextfieldType.Password) && (h("div", { key: '55dba31d1ca9d6b213900b9a2d3aa02044b246ef', class: "flex items-center justify-center", onClick: this.handleIconClick }, h("sula-icon", { key: '19712e5575abb7aaef17a098de13543ed550dc6c', icon: this.getInputIcon(), customClass: `text-2xl ${this.disabled ? 'text-icon-disabled' : 'text-icon-primary'}` })))), (this.helpText || this.maxLength) && !this.disabled && (h("div", { key: '0c68e89181316ffed13f212a5c7f6ba78372e83c', class: "flex justify-between items-center px-16 mt-4 text-sm" }, this.helpText && (h("div", { key: 'af970054750c28cb8a9901fcf850c7c02fd059b9', id: "textfield-help-text", class: { 'text-text-primary': this.status === SulaTextfieldStatus.Default, 'text-feedback-error': this.status === SulaTextfieldStatus.Error } }, this.helpText)), this.maxLength && (h("div", { key: 'e78a661c6c614d2d6787159137cce01bf129e2c2', id: "max-length-container", class: { 'text-text-primary': this.status === SulaTextfieldStatus.Default, 'text-feedback-error': this.status === SulaTextfieldStatus.Error } }, this.textValue ? this.textValue.length : 0, "/", this.maxLength)))))));
|
|
463
499
|
}
|
|
464
500
|
static get watchers() { return {
|
|
465
501
|
"value": ["watchValueHandler"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"sula-textfield.js","mappings":"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","names":["this","SulaTextfield","__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 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 * Max input length used to switch between the first and second mask pattern.\n */\n @Prop()\n maskPatternSwitchMaxLength: number = 14;\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 = this.node.contains(event.target as 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 maskPattern = this.getMaskPatternByValueLength(inputValue);\n if (!maskPattern) return;\n\n const valueWithoutMask = (inputValue ?? this.inputElement.value ?? '').replace(/[^a-zA-Z0-9]/g, '');\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): 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 ?? this.inputElement?.value ?? '').length;\n const switchMaxLength = this.maskPatternSwitchMaxLength ?? 14;\n const selectedIndex = currentValueLength > switchMaxLength ? 1 : 0;\n\n return patterns[Math.min(selectedIndex, patterns.length - 1)];\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 {!this.disabled && (\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 text-text-primary from-down\">{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 text-text-primary bg-transparent\"\n onInput={this.handleInputChanges}\n onFocus={this.handleInputFocus}\n value={this.textValue}\n />\n </div>\n )}\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}
|
|
1
|
+
{"file":"sula-textfield.js","mappings":"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","names":["this","SulaTextfield","__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 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 = this.node.contains(event.target as 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 {!this.disabled && (\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 text-text-primary from-down\">{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 text-text-primary bg-transparent\"\n onInput={this.handleInputChanges}\n onFocus={this.handleInputFocus}\n value={this.textValue}\n />\n </div>\n )}\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}
|
package/dist/esm/loader.js
CHANGED
|
@@ -4,7 +4,7 @@ export { s as setNonce } from './index-CwIBTB8E.js';
|
|
|
4
4
|
const defineCustomElements = async (win, options) => {
|
|
5
5
|
if (typeof window === 'undefined') return undefined;
|
|
6
6
|
await globalScripts();
|
|
7
|
-
return bootstrapLazy([["sula-avatar_21",[[1,"sula-modal",{"opened":[1028],"blockBodyScroll":[1028,"block-body-scroll"],"closeOnClickOutside":[1028,"close-on-click-outside"],"type":[1],"headerIcon":[1,"header-icon"],"modalTitle":[1,"modal-title"],"promoImage":[1,"promo-image"],"subTitle":[1,"sub-title"],"primaryButtonText":[1,"primary-button-text"],"secondaryButtonText":[1,"secondary-button-text"],"slotOverflow":[1,"slot-overflow"],"isAnimating":[32],"shouldRender":[32]},null,{"opened":["handleOpenedChange"]}],[1,"sula-chip",{"text":[1025],"appearance":[1025],"disabled":[1028],"items":[1040],"selected":[1028],"isFocused":[32],"showItems":[32]},[[4,"click","handleDocumentClick"]]],[1,"sula-dropdown",{"label":[1025],"disabled":[1028],"items":[1040],"value":[1040],"searchable":[516],"menuMaxHeight":[2,"menu-max-height"],"selectedItem":[32],"showItems":[32],"isFocused":[32],"searchTerm":[32],"filteredItems":[32],"openUpward":[32]},[[4,"click","handleDocumentClick"],[9,"resize","handleWindowResize"]],{"value":["handleValueChange"],"showItems":["handleShowItemsChange"]}],[1,"sula-avatar",{"size":[1],"imageUrl":[1,"image-url"],"text":[1],"icon":[1]}],[1,"sula-badge",{"status":[1025],"size":[1025],"type":[1025],"text":[1025],"icon":[1025],"hasSlotContent":[32]}],[1,"sula-breadcrumb",{"items":[1040]}],[1,"sula-checkbox",{"type":[1025],"label":[1025],"subTitle":[1025,"sub-title"],"disabled":[1028],"checked":[1028],"isFocus":[32]}],[1,"sula-progress-bar",{"appearance":[1025],"state":[1025],"topLabel":[1025,"top-label"],"bottomLabel":[1025,"bottom-label"],"progress":[1026],"showProgress":[1028,"show-progress"]},null,{"progress":["validateProgress"]}],[1,"sula-search-bar",{"value":[1025],"searchBarStyle":[1025,"search-bar-style"],"placeholder":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"isFocused":[32],"textValue":[32]}],[1,"sula-segmented-control",{"items":[1040],"type":[1025],"size":[1025],"color":[1025]}],[1,"sula-tag",{"label":[1025],"icon":[1025],"iconStatus":[1025,"icon-status"],"size":[1025],"appearance":[1025],"fontWeight":[1025,"font-weight"]}],[1,"sula-textfield",{"value":[1025],"type":[1],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"icon":[1],"maskPattern":[1,"mask-pattern"],"maskPatternSwitchMaxLength":[2,"mask-pattern-switch-max-length"],"inputIsOpen":[32],"textValue":[32],"showPassword":[32],"inputIsFocused":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"],"maskPattern":["watchMaskPatternHandler"],"maskPatternSwitchMaxLength":["watchMaskPatternSwitchMaxLengthHandler"]}],[1,"sula-tiles",{"type":[1],"size":[1],"ellipsis":[4],"icon":[1],"text":[1],"subText":[1,"sub-text"],"disabled":[4]}],[1,"sula-timeline-list",{"sulaTimelineList":[1040,"sula-timeline-list"]}],[1,"sula-radio-button",{"checked":[1028],"label":[1025],"disabled":[1028],"radioIsFocus":[32]}],[1,"sula-switch",{"type":[1025],"active":[1028],"disabled":[1028],"label":[1025],"subTitle":[1025,"sub-title"],"responsive":[4],"isFocus":[32]}],[1,"sula-textarea",{"value":[1025],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"rows":[2],"isActive":[32],"textValue":[32],"textareaIsFocused":[32],"labelPadding":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"]}],[1,"sula-button",{"text":[1025],"icon":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"appearance":[1025],"type":[1025],"size":[1025],"status":[1025],"loading":[1028],"buttonDisabled":[1028,"button-disabled"],"fullWidth":[1028,"full-width"]}],[1,"sula-loader",{"size":[1],"animationInstance":[32]}],[1,"sula-menu-select-list",{"items":[1040],"fullWidth":[4,"full-width"],"maxHeight":[2,"max-height"],"selectedValue":[16,"selected-value"]}],[0,"sula-icon",{"icon":[1],"customClass":[1,"custom-class"]}]]]], options);
|
|
7
|
+
return bootstrapLazy([["sula-avatar_21",[[1,"sula-modal",{"opened":[1028],"blockBodyScroll":[1028,"block-body-scroll"],"closeOnClickOutside":[1028,"close-on-click-outside"],"type":[1],"headerIcon":[1,"header-icon"],"modalTitle":[1,"modal-title"],"promoImage":[1,"promo-image"],"subTitle":[1,"sub-title"],"primaryButtonText":[1,"primary-button-text"],"secondaryButtonText":[1,"secondary-button-text"],"slotOverflow":[1,"slot-overflow"],"isAnimating":[32],"shouldRender":[32]},null,{"opened":["handleOpenedChange"]}],[1,"sula-chip",{"text":[1025],"appearance":[1025],"disabled":[1028],"items":[1040],"selected":[1028],"isFocused":[32],"showItems":[32]},[[4,"click","handleDocumentClick"]]],[1,"sula-dropdown",{"label":[1025],"disabled":[1028],"items":[1040],"value":[1040],"searchable":[516],"menuMaxHeight":[2,"menu-max-height"],"contentMaxHeight":[2,"content-max-height"],"customContent":[516,"custom-content"],"closeOnSelect":[4,"close-on-select"],"selectedItem":[32],"showItems":[32],"isFocused":[32],"searchTerm":[32],"filteredItems":[32],"openUpward":[32]},[[4,"click","handleDocumentClick"],[9,"resize","handleWindowResize"]],{"value":["handleValueChange"],"showItems":["handleShowItemsChange"]}],[1,"sula-avatar",{"size":[1],"imageUrl":[1,"image-url"],"text":[1],"icon":[1]}],[1,"sula-badge",{"status":[1025],"size":[1025],"type":[1025],"text":[1025],"icon":[1025],"hasSlotContent":[32]}],[1,"sula-breadcrumb",{"items":[1040]}],[1,"sula-checkbox",{"type":[1025],"label":[1025],"subTitle":[1025,"sub-title"],"disabled":[1028],"checked":[1028],"isFocus":[32]}],[1,"sula-progress-bar",{"appearance":[1025],"state":[1025],"topLabel":[1025,"top-label"],"bottomLabel":[1025,"bottom-label"],"progress":[1026],"showProgress":[1028,"show-progress"]},null,{"progress":["validateProgress"]}],[1,"sula-search-bar",{"value":[1025],"searchBarStyle":[1025,"search-bar-style"],"placeholder":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"isFocused":[32],"textValue":[32]}],[1,"sula-segmented-control",{"items":[1040],"type":[1025],"size":[1025],"color":[1025]}],[1,"sula-tag",{"label":[1025],"icon":[1025],"iconStatus":[1025,"icon-status"],"size":[1025],"appearance":[1025],"fontWeight":[1025,"font-weight"]}],[1,"sula-textfield",{"value":[1025],"type":[1],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"icon":[1],"maskPattern":[1,"mask-pattern"],"maskPatternSwitchMaxLength":[2,"mask-pattern-switch-max-length"],"inputIsOpen":[32],"textValue":[32],"showPassword":[32],"inputIsFocused":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"],"maskPattern":["watchMaskPatternHandler"],"maskPatternSwitchMaxLength":["watchMaskPatternSwitchMaxLengthHandler"]}],[1,"sula-tiles",{"type":[1],"size":[1],"ellipsis":[4],"icon":[1],"text":[1],"subText":[1,"sub-text"],"disabled":[4]}],[1,"sula-timeline-list",{"sulaTimelineList":[1040,"sula-timeline-list"]}],[1,"sula-radio-button",{"checked":[1028],"label":[1025],"disabled":[1028],"radioIsFocus":[32]}],[1,"sula-switch",{"type":[1025],"active":[1028],"disabled":[1028],"label":[1025],"subTitle":[1025,"sub-title"],"responsive":[4],"isFocus":[32]}],[1,"sula-textarea",{"value":[1025],"status":[1025],"label":[1],"placeholder":[1],"disabled":[1028],"helpText":[1,"help-text"],"maxLength":[2,"max-length"],"rows":[2],"isActive":[32],"textValue":[32],"textareaIsFocused":[32],"labelPadding":[32]},[[4,"click","handleClick"]],{"value":["watchValueHandler"]}],[1,"sula-button",{"text":[1025],"icon":[1025],"leftIcon":[1025,"left-icon"],"rightIcon":[1025,"right-icon"],"appearance":[1025],"type":[1025],"size":[1025],"status":[1025],"loading":[1028],"buttonDisabled":[1028,"button-disabled"],"fullWidth":[1028,"full-width"]}],[1,"sula-loader",{"size":[1],"animationInstance":[32]}],[1,"sula-menu-select-list",{"items":[1040],"fullWidth":[4,"full-width"],"maxHeight":[2,"max-height"],"selectedValue":[16,"selected-value"]}],[0,"sula-icon",{"icon":[1],"customClass":[1,"custom-class"]}]]]], options);
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export { defineCustomElements };
|