jebamo 0.0.13 → 0.0.14
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/components/je-alert.js +2 -2
- package/components/je-button.js +1 -1
- package/components/je-card.js +1 -1
- package/components/je-card.js.map +1 -1
- package/components/je-datepicker.js +21 -25
- package/components/je-datepicker.js.map +1 -1
- package/components/je-details.js +2 -2
- package/components/je-icon-button.js +1 -1
- package/components/je-pill.js +1 -1
- package/components/je-textfield.js +15 -5
- package/components/je-textfield.js.map +1 -1
- package/components/p-B4Ctd9hh.js +43 -0
- package/components/p-B4Ctd9hh.js.map +1 -0
- package/components/{p-DDWeNBqe.js → p-D2R7Jtds.js} +5 -5
- package/components/p-D2R7Jtds.js.map +1 -0
- package/components/{p-C07q1kKX.js → p-DvT9jOjY.js} +3 -3
- package/components/{p-C07q1kKX.js.map → p-DvT9jOjY.js.map} +1 -1
- package/dist/cjs/je-button.je-icon-button.je-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/je-button_3.cjs.entry.js +3 -3
- package/dist/cjs/je-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/je-card.cjs.entry.js +1 -1
- package/dist/cjs/je-card.cjs.entry.js.map +1 -1
- package/dist/cjs/je-card.entry.cjs.js.map +1 -1
- package/dist/cjs/je-datepicker.cjs.entry.js +18 -22
- package/dist/cjs/je-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/je-datepicker.entry.cjs.js.map +1 -1
- package/dist/cjs/je-pill.cjs.entry.js +8 -4
- package/dist/cjs/je-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/je-pill.entry.cjs.js.map +1 -1
- package/dist/cjs/je-textfield.cjs.entry.js +12 -3
- package/dist/cjs/je-textfield.cjs.entry.js.map +1 -1
- package/dist/cjs/je-textfield.entry.cjs.js.map +1 -1
- package/dist/cjs/jebamo.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/je-button/je-button.js +3 -3
- package/dist/collection/components/je-button/je-button.js.map +1 -1
- package/dist/collection/components/je-card/je-card.css +1 -0
- package/dist/collection/components/je-datepicker/je-datepicker.css +4 -4
- package/dist/collection/components/je-datepicker/je-datepicker.js +19 -23
- package/dist/collection/components/je-datepicker/je-datepicker.js.map +1 -1
- package/dist/collection/components/je-pill/je-pill.css +14 -17
- package/dist/collection/components/je-pill/je-pill.js +16 -43
- package/dist/collection/components/je-pill/je-pill.js.map +1 -1
- package/dist/collection/components/je-textfield/je-textfield.css +23 -0
- package/dist/collection/components/je-textfield/je-textfield.js +31 -2
- package/dist/collection/components/je-textfield/je-textfield.js.map +1 -1
- package/dist/esm/je-button.je-icon-button.je-loading.entry.js.map +1 -1
- package/dist/esm/je-button_3.entry.js +3 -3
- package/dist/esm/je-button_3.entry.js.map +1 -1
- package/dist/esm/je-card.entry.js +1 -1
- package/dist/esm/je-card.entry.js.map +1 -1
- package/dist/esm/je-datepicker.entry.js +18 -22
- package/dist/esm/je-datepicker.entry.js.map +1 -1
- package/dist/esm/je-pill.entry.js +9 -5
- package/dist/esm/je-pill.entry.js.map +1 -1
- package/dist/esm/je-textfield.entry.js +12 -3
- package/dist/esm/je-textfield.entry.js.map +1 -1
- package/dist/esm/jebamo.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/jebamo/je-button.je-icon-button.je-loading.entry.esm.js.map +1 -1
- package/dist/jebamo/je-card.entry.esm.js.map +1 -1
- package/dist/jebamo/je-datepicker.entry.esm.js.map +1 -1
- package/dist/jebamo/je-pill.entry.esm.js.map +1 -1
- package/dist/jebamo/je-textfield.entry.esm.js.map +1 -1
- package/dist/jebamo/jebamo.esm.js +1 -1
- package/dist/jebamo/p-1221fc3d.entry.js +2 -0
- package/dist/jebamo/p-1221fc3d.entry.js.map +1 -0
- package/dist/jebamo/p-3ab440dd.entry.js +2 -0
- package/dist/jebamo/p-3ab440dd.entry.js.map +1 -0
- package/dist/jebamo/{p-877450ab.entry.js → p-7365017e.entry.js} +2 -2
- package/dist/jebamo/p-7365017e.entry.js.map +1 -0
- package/dist/jebamo/p-c37c93ea.entry.js +2 -0
- package/dist/jebamo/p-c37c93ea.entry.js.map +1 -0
- package/dist/jebamo/p-c85b30e4.entry.js +2 -0
- package/dist/jebamo/p-c85b30e4.entry.js.map +1 -0
- package/dist/types/components/je-datepicker/je-datepicker.d.ts +7 -5
- package/dist/types/components/je-pill/je-pill.d.ts +2 -2
- package/dist/types/components/je-textfield/je-textfield.d.ts +5 -0
- package/dist/types/components.d.ts +10 -6
- package/package.json +1 -1
- package/components/p-DDWeNBqe.js.map +0 -1
- package/components/p-lBr1fFg4.js +0 -41
- package/components/p-lBr1fFg4.js.map +0 -1
- package/dist/jebamo/p-0fde45e3.entry.js +0 -2
- package/dist/jebamo/p-0fde45e3.entry.js.map +0 -1
- package/dist/jebamo/p-3975f47b.entry.js +0 -2
- package/dist/jebamo/p-3975f47b.entry.js.map +0 -1
- package/dist/jebamo/p-877450ab.entry.js.map +0 -1
- package/dist/jebamo/p-9d90ba0c.entry.js +0 -2
- package/dist/jebamo/p-9d90ba0c.entry.js.map +0 -1
- package/dist/jebamo/p-ee50e126.entry.js +0 -2
- package/dist/jebamo/p-ee50e126.entry.js.map +0 -1
- package/dist/vscode-data.json +0 -1698
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
|
|
|
6
6
|
const defineCustomElements = async (win, options) => {
|
|
7
7
|
if (typeof window === 'undefined') return undefined;
|
|
8
8
|
await appGlobals.globalScripts();
|
|
9
|
-
return index.bootstrapLazy([["je-textfield.cjs",[[81,"je-textfield",{"originalValue":[1025,"original-value"],"label":[1],"disabled":[4],"autoCapitalize":[1,"auto-capitalize"],"autoComplete":[1,"auto-complete"],"autoCorrect":[1,"auto-correct"],"autoFocus":[4,"auto-focus"],"inputMode":[1,"input-mode"],"min":[8],"max":[8],"minlength":[2],"maxlength":[2],"wrap":[1],"pattern":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[1],"type":[1025],"value":[1032],"placeholder":[1],"debounce":[2],"format":[16],"validators":[16],"note":[1],"transform":[1],"multiline":[4],"pending":[4],"error":[6152],"success":[4],"touched":[32],"showPassword":[32],"getInputElement":[64],"markAsTouched":[64],"getErrors":[64],"isTouched":[64]},[[0,"keydown","handleKeyDown"],[0,"invalid","handleInvalid"]],{"value":["handleValueChange"]}]]],["je-datepicker.cjs",[[1,"je-datepicker",{"type":[1],"includeSeconds":[4,"include-seconds"],"min":[2],"max":[2],"isDateDisabled":[16,"is-date-disabled"],"value":[1026],"currentDate":[32]},null,{"value":["valueChangeHandler"]}]]],["je-details.cjs",[[1,"je-details",{"summary":[1],"open":[1540],"iconToggle":[4,"icon-toggle"],"iconSide":[1,"icon-side"]},null,{"open":["watchOpen"]}]]],["je-select.cjs",[[81,"je-select",{"value":[8],"label":[1],"disabled":[4],"required":[4],"placeholder":[1],"note":[1],"multiple":[4],"originalValue":[8,"original-value"],"options":[16],"size":[1],"open":[32],"content":[32]},[[0,"click","onClick"]]]]],["je-alert.cjs",[[1,"je-alert",{"icon":[1],"header":[1],"message":[1],"closable":[4],"color":[513],"duration":[2],"progress":[4],"open":[1028],"paused":[32],"show":[64],"hide":[64],"didDismiss":[64]},[[0,"animationend","onAnimationEnd"],[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"],[0,"slotchange","onSlotChange"]]]]],["je-radio-group.cjs",[[65,"je-radio-group",{"required":[4],"disabled":[4],"originalValue":[8,"original-value"],"label":[1],"note":[1],"value":[1032],"tabindex":[32]},[[0,"focus","onFocus"],[0,"focusin","onFocusIn"],[0,"focusout","onFocusOut"],[0,"click","handleNewValue"],[2,"keydown","handleKeyDown"]],{"value":["handleValueChange"]}]]],["je-branch.cjs",[[17,"je-branch",{"selection":[1],"indentation":[4],"open":[1028],"value":[1],"label":[1],"selected":[4],"isLeaf":[64]}]]],["je-checkbox.cjs",[[65,"je-checkbox",{"originalValue":[4,"original-value"],"data":[1],"value":[1028],"labelPlacement":[1,"label-placement"],"indeterminate":[4],"required":[4]},[[0,"click","onClick"],[0,"keydown","onKeyDown"]],{"value":["handleValueChange"]}]]],["je-radio.cjs",[[1,"je-radio",{"value":[8],"selected":[4]}]]],["je-accordion.cjs",[[1,"je-accordion",null,[[0,"expand","onExpand"],[0,"keydown","onKeydown"]]]]],["je-action-sheet.cjs",[[1,"je-action-sheet",{"open":[1028],"init":[16],"destroy":[16],"minPercent":[2,"min-percent"],"midPercent":[2,"mid-percent"],"maxPercent":[2,"max-percent"],"currentHeightPx":[32],"show":[64],"hide":[64]},[[0,"click","onClick"]],{"open":["onOpenChange"]}]]],["je-breadcrumb.cjs",[[1,"je-breadcrumb"]]],["je-breadcrumbs.cjs",[[1,"je-breadcrumbs",{"itemsBeforeCollapse":[2,"items-before-collapse"],"itemsAfterCollapse":[2,"items-after-collapse"],"maxItems":[2,"max-items"]}]]],["je-button-group.cjs",[[0,"je-button-group"]]],["je-calendar.cjs",[[1,"je-calendar"]]],["je-card.cjs",[[1,"je-card",{"color":[513],"button":[516]}]]],["je-column.cjs",[[1,"je-column",{"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]]]],["je-column-group.cjs",[[1,"je-column-group",{"columns":[2],"wrap":[516],"align":[513],"justify":[513],"gap":[513]}]]],["je-divider.cjs",[[1,"je-divider",{"type":[513],"spacing":[513]}]]],["je-drawer.cjs",[[1,"je-drawer",{"backdropDismiss":[4,"backdrop-dismiss"],"open":[1028],"side":[513],"init":[16],"destroy":[16],"show":[64],"hide":[64]},[[0,"click","onClick"]],{"open":["onOpenChange"]}]]],["je-dropzone.cjs",[[1,"je-dropzone",null,[[16,"themeChange","handleThemeChange"],[0,"drop","onDrop"],[0,"dragover","onDragOver"],[0,"dragleave","onDragLeave"]]]]],["je-form.cjs",[[6,"je-form",null,[[0,"submit","handleSubmit"],[0,"keydown","handleKeyup"]]]]],["je-infinite.cjs",[[1,"je-infinite",{"loading":[4],"threshold":[2],"rootMargin":[1,"root-margin"]}]]],["je-item.cjs",[[17,"je-item"]]],["je-link.cjs",[[17,"je-link",{"underline":[4],"bold":[4],"href":[1],"target":[1],"rel":[1],"download":[1]}]]],["je-menu.cjs",[[1,"je-menu"]]],["je-modal.cjs",[[1,"je-modal",{"showBackdrop":[4,"show-backdrop"],"backdropDismiss":[4,"backdrop-dismiss"],"open":[1028],"size":[513],"init":[16],"destroy":[16],"show":[64],"hide":[64],"didDismiss":[64]},[[0,"click","onClick"]],{"open":["onOpenChange"]}]]],["je-nav.cjs",[[4,"je-nav",{"mode":[513]}]]],["je-page.cjs",[[0,"je-page",{"layout":[513],"headerHeight":[32],"subTop":[32],"footerHeight":[32]}]]],["je-placeholder.cjs",[[1,"je-placeholder",{"animated":[4]}]]],["je-radio-button.cjs",[[1,"je-radio-button",{"value":[1],"selected":[4]}]]],["je-refresher.cjs",[[1,"je-refresher"]]],["je-tab.cjs",[[65,"je-tab",{"value":[1],"active":[4]}]]],["je-tabs.cjs",[[1,"je-tabs",{"mode":[513],"value":[1025]},[[0,"click","onClick"]],{"value":["handleValueChange"]}]]],["je-toast-container.cjs",[[1,"je-toast-container",{"position":[513]}]]],["je-toggle.cjs",[[65,"je-toggle",{"originalValue":[4,"original-value"],"value":[1028],"labelPlacement":[1,"label-placement"]},[[2,"click","onClick"],[2,"keydown","onKeyDown"]]]]],["je-tree.cjs",[[1,"je-tree",{"value":[1025],"selection":[1],"indentation":[4]},[[0,"click","onClick"],[0,"keyup","onKeyup"]],{"value":["valueChanged"]}]]],["je-wizard.cjs",[[1,"je-wizard",{"steps":[16],"completedSteps":[32],"currentStep":[32],"next":[64],"previous":[64],"skip":[64],"reset":[64],"canSkip":[64]},null,{"completedSteps":["onCompletedStepsChange"],"currentStep":["onCurrentStepChange"]}]]],["je-option.cjs",[[1,"je-option",{"value":[8],"selected":[4],"disabled":[4]},[[2,"click","onClick"],[2,"keydown","onKeyDown"]]]]],["je-pill.cjs",[[1,"je-pill",{"outline":[516],"
|
|
9
|
+
return index.bootstrapLazy([["je-textfield.cjs",[[81,"je-textfield",{"originalValue":[1025,"original-value"],"label":[1],"disabled":[4],"autoCapitalize":[1,"auto-capitalize"],"autoComplete":[1,"auto-complete"],"autoCorrect":[1,"auto-correct"],"autoFocus":[4,"auto-focus"],"inputMode":[1,"input-mode"],"min":[8],"max":[8],"minlength":[2],"maxlength":[2],"wrap":[1],"pattern":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[1],"type":[1025],"value":[1032],"placeholder":[1],"debounce":[2],"format":[16],"validators":[16],"note":[1],"suppressDefaultBehavior":[4,"suppress-default-behavior"],"transform":[1],"multiline":[4],"pending":[4],"error":[6152],"success":[4],"touched":[32],"showPassword":[32],"getInputElement":[64],"markAsTouched":[64],"getErrors":[64],"isTouched":[64]},[[0,"keydown","handleKeyDown"],[0,"invalid","handleInvalid"]],{"value":["handleValueChange"]}]]],["je-datepicker.cjs",[[1,"je-datepicker",{"type":[1],"includeSeconds":[4,"include-seconds"],"min":[2],"max":[2],"isDateDisabled":[16,"is-date-disabled"],"value":[1026],"currentDate":[32]},null,{"value":["valueChangeHandler"]}]]],["je-details.cjs",[[1,"je-details",{"summary":[1],"open":[1540],"iconToggle":[4,"icon-toggle"],"iconSide":[1,"icon-side"]},null,{"open":["watchOpen"]}]]],["je-select.cjs",[[81,"je-select",{"value":[8],"label":[1],"disabled":[4],"required":[4],"placeholder":[1],"note":[1],"multiple":[4],"originalValue":[8,"original-value"],"options":[16],"size":[1],"open":[32],"content":[32]},[[0,"click","onClick"]]]]],["je-alert.cjs",[[1,"je-alert",{"icon":[1],"header":[1],"message":[1],"closable":[4],"color":[513],"duration":[2],"progress":[4],"open":[1028],"paused":[32],"show":[64],"hide":[64],"didDismiss":[64]},[[0,"animationend","onAnimationEnd"],[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"],[0,"slotchange","onSlotChange"]]]]],["je-radio-group.cjs",[[65,"je-radio-group",{"required":[4],"disabled":[4],"originalValue":[8,"original-value"],"label":[1],"note":[1],"value":[1032],"tabindex":[32]},[[0,"focus","onFocus"],[0,"focusin","onFocusIn"],[0,"focusout","onFocusOut"],[0,"click","handleNewValue"],[2,"keydown","handleKeyDown"]],{"value":["handleValueChange"]}]]],["je-branch.cjs",[[17,"je-branch",{"selection":[1],"indentation":[4],"open":[1028],"value":[1],"label":[1],"selected":[4],"isLeaf":[64]}]]],["je-checkbox.cjs",[[65,"je-checkbox",{"originalValue":[4,"original-value"],"data":[1],"value":[1028],"labelPlacement":[1,"label-placement"],"indeterminate":[4],"required":[4]},[[0,"click","onClick"],[0,"keydown","onKeyDown"]],{"value":["handleValueChange"]}]]],["je-radio.cjs",[[1,"je-radio",{"value":[8],"selected":[4]}]]],["je-accordion.cjs",[[1,"je-accordion",null,[[0,"expand","onExpand"],[0,"keydown","onKeydown"]]]]],["je-action-sheet.cjs",[[1,"je-action-sheet",{"open":[1028],"init":[16],"destroy":[16],"minPercent":[2,"min-percent"],"midPercent":[2,"mid-percent"],"maxPercent":[2,"max-percent"],"currentHeightPx":[32],"show":[64],"hide":[64]},[[0,"click","onClick"]],{"open":["onOpenChange"]}]]],["je-breadcrumb.cjs",[[1,"je-breadcrumb"]]],["je-breadcrumbs.cjs",[[1,"je-breadcrumbs",{"itemsBeforeCollapse":[2,"items-before-collapse"],"itemsAfterCollapse":[2,"items-after-collapse"],"maxItems":[2,"max-items"]}]]],["je-button-group.cjs",[[0,"je-button-group"]]],["je-calendar.cjs",[[1,"je-calendar"]]],["je-card.cjs",[[1,"je-card",{"color":[513],"button":[516]}]]],["je-column.cjs",[[1,"je-column",{"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]]]],["je-column-group.cjs",[[1,"je-column-group",{"columns":[2],"wrap":[516],"align":[513],"justify":[513],"gap":[513]}]]],["je-divider.cjs",[[1,"je-divider",{"type":[513],"spacing":[513]}]]],["je-drawer.cjs",[[1,"je-drawer",{"backdropDismiss":[4,"backdrop-dismiss"],"open":[1028],"side":[513],"init":[16],"destroy":[16],"show":[64],"hide":[64]},[[0,"click","onClick"]],{"open":["onOpenChange"]}]]],["je-dropzone.cjs",[[1,"je-dropzone",null,[[16,"themeChange","handleThemeChange"],[0,"drop","onDrop"],[0,"dragover","onDragOver"],[0,"dragleave","onDragLeave"]]]]],["je-form.cjs",[[6,"je-form",null,[[0,"submit","handleSubmit"],[0,"keydown","handleKeyup"]]]]],["je-infinite.cjs",[[1,"je-infinite",{"loading":[4],"threshold":[2],"rootMargin":[1,"root-margin"]}]]],["je-item.cjs",[[17,"je-item"]]],["je-link.cjs",[[17,"je-link",{"underline":[4],"bold":[4],"href":[1],"target":[1],"rel":[1],"download":[1]}]]],["je-menu.cjs",[[1,"je-menu"]]],["je-modal.cjs",[[1,"je-modal",{"showBackdrop":[4,"show-backdrop"],"backdropDismiss":[4,"backdrop-dismiss"],"open":[1028],"size":[513],"init":[16],"destroy":[16],"show":[64],"hide":[64],"didDismiss":[64]},[[0,"click","onClick"]],{"open":["onOpenChange"]}]]],["je-nav.cjs",[[4,"je-nav",{"mode":[513]}]]],["je-page.cjs",[[0,"je-page",{"layout":[513],"headerHeight":[32],"subTop":[32],"footerHeight":[32]}]]],["je-placeholder.cjs",[[1,"je-placeholder",{"animated":[4]}]]],["je-radio-button.cjs",[[1,"je-radio-button",{"value":[1],"selected":[4]}]]],["je-refresher.cjs",[[1,"je-refresher"]]],["je-tab.cjs",[[65,"je-tab",{"value":[1],"active":[4]}]]],["je-tabs.cjs",[[1,"je-tabs",{"mode":[513],"value":[1025]},[[0,"click","onClick"]],{"value":["handleValueChange"]}]]],["je-toast-container.cjs",[[1,"je-toast-container",{"position":[513]}]]],["je-toggle.cjs",[[65,"je-toggle",{"originalValue":[4,"original-value"],"value":[1028],"labelPlacement":[1,"label-placement"]},[[2,"click","onClick"],[2,"keydown","onKeyDown"]]]]],["je-tree.cjs",[[1,"je-tree",{"value":[1025],"selection":[1],"indentation":[4]},[[0,"click","onClick"],[0,"keyup","onKeyup"]],{"value":["valueChanged"]}]]],["je-wizard.cjs",[[1,"je-wizard",{"steps":[16],"completedSteps":[32],"currentStep":[32],"next":[64],"previous":[64],"skip":[64],"reset":[64],"canSkip":[64]},null,{"completedSteps":["onCompletedStepsChange"],"currentStep":["onCurrentStepChange"]}]]],["je-option.cjs",[[1,"je-option",{"value":[8],"selected":[4],"disabled":[4]},[[2,"click","onClick"],[2,"keydown","onKeyDown"]]]]],["je-pill.cjs",[[1,"je-pill",{"outline":[516]},[[2,"keydown","onClick"]]]]],["je-toolbar.cjs",[[1,"je-toolbar"]]],["je-color_2.cjs",[[1,"je-color",{"color":[513],"light":[1],"dark":[1]}],[1,"je-tooltip",{"content":[1],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"open":[32]},null,{"open":["onOpenChange"]}]]],["je-popover.cjs",[[1,"je-popover",{"open":[1028],"placement":[1],"backdropDismiss":[4,"backdrop-dismiss"],"dismissOnClick":[4,"dismiss-on-click"],"positionStrategy":[1,"position-strategy"],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"triggerAction":[1,"trigger-action"],"matchWidth":[4,"match-width"],"arrow":[4],"init":[16],"destroy":[16],"arrowPadding":[2,"arrow-padding"],"show":[64],"hide":[64]},[[10,"click","handleWindowClick"],[10,"contextmenu","handleWindowContextMenu"]],{"open":["handleOpenChange"]}]]],["je-label_2.cjs",[[1,"je-label",{"required":[516]}],[1,"je-note",{"invalid":[516]}]]],["je-icon.cjs",[[17,"je-icon",{"size":[1],"fill":[4],"grade":[1],"weight":[2]}]]],["je-button_3.cjs",[[1,"je-icon-button",{"disabled":[4],"type":[1],"pending":[4],"fill":[1],"size":[1],"color":[1],"icon":[1]}],[17,"je-button",{"disabled":[4],"type":[1],"form":[1],"expand":[4],"pending":[4],"fill":[513],"size":[513],"color":[513]},[[0,"click","handleClick"]],{"pending":["onPendingChange"]}],[1,"je-loading"]]]], options);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.setNonce = index.setNonce;
|
|
@@ -14,8 +14,8 @@ export class JeButton {
|
|
|
14
14
|
}
|
|
15
15
|
componentDidLoad() {
|
|
16
16
|
if (this.type) {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const formEl = this.form ? document.getElementById(this.form) : this.el.closest('form');
|
|
18
|
+
console.log(formEl);
|
|
19
19
|
if (formEl) {
|
|
20
20
|
this.formButtonEl = document.createElement('button');
|
|
21
21
|
this.formButtonEl.type = this.type;
|
|
@@ -40,7 +40,7 @@ export class JeButton {
|
|
|
40
40
|
pending: this.pending,
|
|
41
41
|
[this.color]: !!this.color
|
|
42
42
|
};
|
|
43
|
-
return (h(Host, { key: '
|
|
43
|
+
return (h(Host, { key: 'f5e0a14366f5cfc859f7d9ad4ff5f340fe6bc7e5' }, h("button", { key: 'dd84638d95708f044ccca7917e3601ba2a939516', part: 'inner-button', ref: el => this.buttonEl = el, disabled: this.disabled || this.pending, type: 'button', tabindex: 0, class: classes }, this.pending ? h("je-loading", null) : h("slot", null), h("slot", { key: '8999e86079957e886e45e0cc9e9410f611f0a86a', name: 'badge' }))));
|
|
44
44
|
}
|
|
45
45
|
static get is() { return "je-button"; }
|
|
46
46
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"je-button.js","sourceRoot":"","sources":["../../../src/components/je-button/je-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUjF,MAAM,OAAO,QAAQ;IAPrB;QAYE,sBAAsB;QACd,aAAQ,GAAG,KAAK,CAAC;QAWzB,6DAA6D;QACrD,WAAM,GAAG,KAAK,CAAC;QAEvB,sDAAsD;QAC9C,YAAO,GAAG,KAAK,CAAC;QAExB,kBAAkB;QACO,SAAI,GAAkC,OAAO,CAAC;QAEvE,kBAAkB;QACO,SAAI,GAAuB,IAAI,CAAC;KA8C1D;IAzCC,gBAAgB;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,
|
|
1
|
+
{"version":3,"file":"je-button.js","sourceRoot":"","sources":["../../../src/components/je-button/je-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAUjF,MAAM,OAAO,QAAQ;IAPrB;QAYE,sBAAsB;QACd,aAAQ,GAAG,KAAK,CAAC;QAWzB,6DAA6D;QACrD,WAAM,GAAG,KAAK,CAAC;QAEvB,sDAAsD;QAC9C,YAAO,GAAG,KAAK,CAAC;QAExB,kBAAkB;QACO,SAAI,GAAkC,OAAO,CAAC;QAEvE,kBAAkB;QACO,SAAI,GAAuB,IAAI,CAAC;KA8C1D;IAzCC,gBAAgB;QACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAGD,WAAW;;QACT,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAGD,eAAe;QACb,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;SAC3B,CAAA;QACD,OAAO,CACL,EAAC,IAAI;YACH,+DAAQ,IAAI,EAAC,cAAc,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO;gBAC1I,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAa,CAAC,CAAC,CAAC,eAAO;gBACvC,6DAAM,IAAI,EAAC,OAAO,GAAE,CACb,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Element, Listen, Host, Watch } from '@stencil/core';\nimport { Color } from '../../utils/utils';\n\n@Component({\n tag: 'je-button',\n styleUrl: 'je-button.scss',\n shadow: {\n delegatesFocus: true\n },\n})\nexport class JeButton {\n @Element() el: HTMLJeButtonElement;\n private formButtonEl?: HTMLButtonElement;\n private buttonEl: HTMLButtonElement;\n\n /** Disables button */\n @Prop() disabled = false;\n\n /** Can set to submit or reset to participate in forms */\n @Prop() type?: 'submit' | 'reset';\n\n /**\n * Can set form id to participate in forms. Use this if you need to place\n * submit/reset button outside the form element\n */\n @Prop() form?: string;\n\n /** Expands the button to the full width of it's container */\n @Prop() expand = false;\n\n /** Shows a loading spinner and disables the button */\n @Prop() pending = false;\n\n /** Button fill */\n @Prop({ reflect: true }) fill: 'solid' | 'outline' | 'clear' = 'solid';\n\n /** Button size */\n @Prop({ reflect: true }) size: 'md' | 'lg' | 'sm' = 'md';\n\n /** Predefined colors */\n @Prop({ reflect: true }) color?: Color;\n\n componentDidLoad() {\n if (this.type) {\n const formEl = this.form ? document.getElementById(this.form) : this.el.closest('form');\n console.log(formEl);\n if (formEl) {\n this.formButtonEl = document.createElement('button');\n this.formButtonEl.type = this.type;\n this.formButtonEl.style.display = 'none';\n formEl.append(this.formButtonEl);\n }\n }\n }\n\n @Listen('click')\n handleClick() {\n this.formButtonEl?.click();\n }\n\n @Watch('pending')\n onPendingChange() {\n if (this.pending) {\n this.buttonEl.style.setProperty('--pending-width', `${this.buttonEl.clientWidth}px`);\n }\n }\n\n render() {\n const classes = {\n [this.fill]: true,\n expand: this.expand,\n pending: this.pending,\n [this.color]: !!this.color\n }\n return (\n <Host>\n <button part='inner-button' ref={el => this.buttonEl = el} disabled={this.disabled || this.pending} type='button' tabindex={0} class={classes}>\n {this.pending ? <je-loading/> : <slot/>}\n <slot name='badge'/>\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
je-button.day {
|
|
12
|
-
--height: var(--je-spacing-
|
|
12
|
+
--height: var(--je-spacing-2xl, 2rem);
|
|
13
13
|
--padding-inline: 0px;
|
|
14
14
|
}
|
|
15
15
|
je-button.day::part(inner-button) {
|
|
16
|
-
width: var(--je-spacing-
|
|
16
|
+
width: var(--je-spacing-2xl, 2rem);
|
|
17
17
|
font-weight: 400;
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -36,8 +36,8 @@ je-button.day::part(inner-button) {
|
|
|
36
36
|
gap: var(--je-spacing-2xs, 0.25rem);
|
|
37
37
|
}
|
|
38
38
|
.weekdays-grid div {
|
|
39
|
-
height: var(--je-spacing-
|
|
40
|
-
width: var(--je-spacing-
|
|
39
|
+
height: var(--je-spacing-2xl, 2rem);
|
|
40
|
+
width: var(--je-spacing-2xl, 2rem);
|
|
41
41
|
font-size: var(--je-font-md, 1rem);
|
|
42
42
|
font-weight: 400;
|
|
43
43
|
color: color-mix(in srgb, var(--je-secondary, #99becb) 80%, black 20%);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fragment, Host, h } from "@stencil/core";
|
|
2
|
-
import { startOfMonth, endOfMonth, eachDayOfInterval, addMonths, subMonths, isSameDay, isToday, format, getDay, set
|
|
2
|
+
import { startOfMonth, endOfMonth, eachDayOfInterval, addMonths, subMonths, isSameDay, isToday, format, getDay, set } from "date-fns";
|
|
3
3
|
const daysOfWeek = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
|
|
4
4
|
export class JeDatepicker {
|
|
5
5
|
constructor() {
|
|
@@ -18,26 +18,23 @@ export class JeDatepicker {
|
|
|
18
18
|
this.prevYear = () => {
|
|
19
19
|
this.currentDate = subMonths(this.currentDate, 12);
|
|
20
20
|
};
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.
|
|
33
|
-
};
|
|
34
|
-
this.setSecond = (second) => {
|
|
35
|
-
this.value = setSeconds(this.value, second).getTime();
|
|
21
|
+
this.setValue = (opts) => {
|
|
22
|
+
var _a, _b, _c, _d;
|
|
23
|
+
const newValue = set((_a = this.value) !== null && _a !== void 0 ? _a : new Date(), {
|
|
24
|
+
year: (_b = opts.day) === null || _b === void 0 ? void 0 : _b.getFullYear(),
|
|
25
|
+
month: (_c = opts.day) === null || _c === void 0 ? void 0 : _c.getMonth(),
|
|
26
|
+
date: (_d = opts.day) === null || _d === void 0 ? void 0 : _d.getDate(),
|
|
27
|
+
hours: opts.hour,
|
|
28
|
+
minutes: opts.minute,
|
|
29
|
+
seconds: opts.second
|
|
30
|
+
});
|
|
31
|
+
this.value = newValue.getTime();
|
|
32
|
+
this.valueChange.emit(this.value);
|
|
36
33
|
};
|
|
37
34
|
this.scrollTimeIntoView = () => {
|
|
38
35
|
this.el.shadowRoot.querySelectorAll('.timepicker-column').forEach(column => {
|
|
39
|
-
var _a;
|
|
40
|
-
(_a = column.querySelector('je-button[color="primary"][fill="solid"]')) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ block: 'center', behavior: '
|
|
36
|
+
var _a, _b;
|
|
37
|
+
(_b = (_a = column.querySelector('je-button[color="primary"][fill="solid"]')) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector('button')) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: 'center', behavior: 'instant' });
|
|
41
38
|
});
|
|
42
39
|
};
|
|
43
40
|
}
|
|
@@ -50,7 +47,6 @@ export class JeDatepicker {
|
|
|
50
47
|
if (this.value) {
|
|
51
48
|
this.currentDate = new Date(this.value);
|
|
52
49
|
}
|
|
53
|
-
this.valueChange.emit(this.value ? new Date(this.value).getTime() : undefined);
|
|
54
50
|
}
|
|
55
51
|
render() {
|
|
56
52
|
const firstDayOfMonth = startOfMonth(this.currentDate);
|
|
@@ -62,12 +58,12 @@ export class JeDatepicker {
|
|
|
62
58
|
const daysBefore = Array.from({ length: firstDayOfWeek }).map((_, i) => subMonths(this.currentDate, 1).setDate(prevMonthEnd.getDate() - (firstDayOfWeek - i - 1)));
|
|
63
59
|
const lastDayOfWeek = getDay(lastDayOfMonth);
|
|
64
60
|
const daysAfter = Array.from({ length: 6 - lastDayOfWeek }).map((_, i) => addMonths(this.currentDate, 1).setDate(i + 1));
|
|
65
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '001acd2a99d94de7f0e33fd6453d7c4f5c9779da' }, (this.type == 'date' || this.type == 'datetime') && (h(Fragment, { key: 'c30cbabed1c5e0c25383e5ed8965a93155f39eb8' }, h("div", { key: 'bf665a24f3756940db6823e0d54c1db147374e71', class: "header" }, h("je-icon-button", { key: '535074bbfe25a0af354569f6628f45294cda650d', icon: 'keyboard_double_arrow_left', onClick: this.prevYear }), h("je-icon-button", { key: 'a284b3c39e1fe1f1beb444d0f91e04510c978194', icon: 'keyboard_arrow_left', onClick: this.prevMonth }), h("span", { key: '30c22009f6114f781654626cf1889a2c7f84b6ac' }, format(this.currentDate, 'MMMM yyyy')), h("je-icon-button", { key: '6bf8cc4cd9482203c927f68efdf735644f783bc7', icon: 'keyboard_arrow_right', onClick: this.nextMonth }), h("je-icon-button", { key: 'c7895236c227bed7709d863518d7867112fa9c12', icon: 'keyboard_double_arrow_right', onClick: this.nextYear })), h("div", { key: '39f1be73032a4d63958751a8ea3e66706d0413d2', class: "weekdays-grid" }, daysOfWeek.map(day => h("div", null, day))), h("div", { key: '2a38bbb66188746c867ce37dce552869793c19c8', class: "days-grid" }, daysBefore.map(day => (h("je-button", { expand: true, disabled: true, color: 'secondary', fill: 'clear', class: 'day' }, format(day, 'd')))), daysInMonth.map(day => {
|
|
66
62
|
const selected = this.value && isSameDay(day, this.value);
|
|
67
63
|
const today = isToday(day);
|
|
68
64
|
const isDisabled = (this.isDateDisabled && this.isDateDisabled(day)) || (this.min && day < new Date(this.min)) || (this.max && day > new Date(this.max));
|
|
69
|
-
return (h("je-button", { expand: true, disabled: isDisabled, color: selected || today ? 'primary' : isDisabled ? 'secondary' : undefined, fill: selected ? 'solid' : 'clear', class: 'day', onClick: () => this.
|
|
70
|
-
}), daysAfter.map(day => (h("je-button", { expand: true, disabled: true, color: 'secondary', fill: 'clear', class: 'day' }, format(day, 'd'))))))), (this.type == 'time' || this.type == 'datetime') && (h("div", { key: '
|
|
65
|
+
return (h("je-button", { expand: true, disabled: isDisabled, color: selected || today ? 'primary' : isDisabled ? 'secondary' : undefined, fill: selected ? 'solid' : 'clear', class: 'day', onClick: () => this.setValue({ day }) }, format(day, 'd')));
|
|
66
|
+
}), daysAfter.map(day => (h("je-button", { expand: true, disabled: true, color: 'secondary', fill: 'clear', class: 'day' }, format(day, 'd'))))))), (this.type == 'time' || this.type == 'datetime') && (h("div", { key: 'ccfdb4a84c2738633e12715ad549f5816fdeae54', class: 'timepicker' }, h("span", { key: 'bc4dfa532659ed667f470f22e8c2a9c90a4657cf' }, "Time"), h("je-popover", { key: '835045046be299fb244ba91982443eeb4bc7a669', arrow: true, onPresent: this.scrollTimeIntoView }, h("je-pill", { key: 'fa9f3cb90597b04b44563dc77493652a9d0d8d9e', role: 'button', tabindex: 0, slot: 'trigger' }, this.value ? (this.includeSeconds ? format(this.value, 'hh:mm:ss a') : format(this.value, 'hh:mm a')) : '-'), h("div", { key: '8385bf430461cde71f485cee75018f6cf94351b4', class: 'timepicker-content' }, h("div", { key: 'c4cb33fd35308410c9b00151d8d8b715bc7d1202', class: 'timepicker-column' }, Array.from({ length: 24 }).map((_, hour) => (h("je-button", { size: 'sm', color: this.currentDate.getHours() === hour ? 'primary' : undefined, fill: this.currentDate.getHours() === hour ? 'solid' : 'clear', onClick: () => this.setValue({ hour }) }, format(new Date().setHours(hour), 'hh a'))))), h("div", { key: 'a954cbd332a79376ff5be0eb151f49d91ed5d3b1', class: 'timepicker-column' }, Array.from({ length: 60 }).map((_, minute) => (h("je-button", { size: 'sm', color: this.currentDate.getMinutes() === minute ? 'primary' : undefined, fill: this.currentDate.getMinutes() === minute ? 'solid' : 'clear', onClick: () => this.setValue({ minute }) }, format(new Date().setMinutes(minute), 'mm'))))), this.includeSeconds && (h("div", { key: '1919fa66ede1f38866550d5b376a27d7d040a56a', class: 'timepicker-column' }, Array.from({ length: 60 }).map((_, second) => (h("je-button", { size: 'sm', color: this.currentDate.getSeconds() === second ? 'primary' : undefined, fill: this.currentDate.getSeconds() === second ? 'solid' : 'clear', onClick: () => this.setValue({ second }) }, format(new Date().setSeconds(second), 'ss'))))))))))));
|
|
71
67
|
}
|
|
72
68
|
static get is() { return "je-datepicker"; }
|
|
73
69
|
static get encapsulation() { return "shadow"; }
|
|
@@ -222,7 +218,7 @@ export class JeDatepicker {
|
|
|
222
218
|
"text": ""
|
|
223
219
|
},
|
|
224
220
|
"complexType": {
|
|
225
|
-
"original": "number
|
|
221
|
+
"original": "number",
|
|
226
222
|
"resolved": "number",
|
|
227
223
|
"references": {}
|
|
228
224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"je-datepicker.js","sourceRoot":"","sources":["../../../src/components/je-datepicker/je-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { startOfMonth, endOfMonth, eachDayOfInterval, addMonths, subMonths, isSameDay, isToday, format, getDay, set, setHours, setMinutes, setSeconds } from 'date-fns';\n\nconst daysOfWeek = ['S', 'M', 'T', 'W', 'T', 'F', 'S'] as const;\n\n@Component({\n tag: 'je-datepicker',\n styleUrl: 'je-datepicker.scss',\n shadow: true,\n})\nexport class JeDatepicker {\n @Element() el!: HTMLJeDatepickerElement;\n @State() currentDate = new Date();\n @Prop() type: 'date' | 'datetime' | 'time' = 'datetime';\n @Prop() includeSeconds = false;\n @Prop() min?: number;\n @Prop() max?: number;\n @Prop() isDateDisabled?: (date: Date) => boolean;\n @Prop({ mutable: true }) value?: number;\n @Event() valueChange: EventEmitter<number | undefined>;\n\n componentWillLoad() {\n if (this.value) {\n this.currentDate = new Date(this.value);\n }\n }\n\n @Watch('value')\n valueChangeHandler() {\n if (this.value) {\n this.currentDate = new Date(this.value);\n }\n this.valueChange.emit(this.value ? new Date(this.value).getTime() : undefined);\n }\n\n nextMonth = () => {\n this.currentDate = addMonths(this.currentDate, 1);\n }\n\n prevMonth = () => {\n this.currentDate = subMonths(this.currentDate, 1);\n }\n\n nextYear = () => {\n this.currentDate = addMonths(this.currentDate, 12);\n }\n\n prevYear = () => {\n this.currentDate = subMonths(this.currentDate, 12);\n }\n\n setDay = (day: Date) => {\n this.value = set(this.value, {\n year: day.getFullYear(),\n month: day.getMonth(),\n date: day.getDate()\n }).getTime();\n }\n\n setHour = (hour: number) => {\n this.value = setHours(this.value, hour).getTime();\n }\n\n setMinute = (minute: number) => {\n this.value = setMinutes(this.value, minute).getTime();\n }\n\n setSecond = (second: number) => {\n this.value = setSeconds(this.value, second).getTime();\n }\n\n scrollTimeIntoView = () => {\n this.el.shadowRoot.querySelectorAll('.timepicker-column').forEach(column => {\n column.querySelector('je-button[color=\"primary\"][fill=\"solid\"]')?.scrollIntoView({ block: 'center', behavior: 'smooth'});\n });\n }\n\n render() {\n const firstDayOfMonth = startOfMonth(this.currentDate);\n const lastDayOfMonth = endOfMonth(this.currentDate);\n const daysInMonth = eachDayOfInterval({ start: firstDayOfMonth, end: lastDayOfMonth });\n\n const prevMonth = subMonths(this.currentDate, 1);\n const prevMonthEnd = endOfMonth(prevMonth);\n\n const firstDayOfWeek = getDay(firstDayOfMonth);\n const daysBefore = Array.from({ length: firstDayOfWeek }).map((_, i) =>\n subMonths(this.currentDate, 1).setDate(prevMonthEnd.getDate() - (firstDayOfWeek - i - 1))\n );\n\n const lastDayOfWeek = getDay(lastDayOfMonth);\n const daysAfter = Array.from({ length: 6 - lastDayOfWeek }).map((_, i) =>\n addMonths(this.currentDate, 1).setDate(i + 1)\n );\n\n return (\n <Host>\n {(this.type == 'date' || this.type == 'datetime') && (\n <Fragment>\n <div class=\"header\">\n <je-icon-button icon='keyboard_double_arrow_left' onClick={this.prevYear} />\n <je-icon-button icon='keyboard_arrow_left' onClick={this.prevMonth} />\n <span>{format(this.currentDate, 'MMMM yyyy')}</span>\n <je-icon-button icon='keyboard_arrow_right' onClick={this.nextMonth} />\n <je-icon-button icon='keyboard_double_arrow_right' onClick={this.nextYear} />\n </div>\n\n <div class=\"weekdays-grid\">\n {daysOfWeek.map(day => <div>{day}</div>)}\n </div>\n\n <div class=\"days-grid\">\n {daysBefore.map(day => (\n <je-button expand={true} disabled={true} color='secondary' fill='clear' class='day'>\n {format(day, 'd')}\n </je-button>\n ))}\n\n {daysInMonth.map(day => {\n const selected = this.value && isSameDay(day, this.value);\n const today = isToday(day);\n const isDisabled = (this.isDateDisabled && this.isDateDisabled(day)) || (this.min && day < new Date(this.min)) || (this.max && day > new Date(this.max));\n return (\n <je-button\n expand={true}\n disabled={isDisabled}\n color={selected || today ? 'primary' : isDisabled ? 'secondary' : undefined}\n fill={selected ? 'solid' : 'clear'}\n class='day'\n onClick={() => this.setDay(day)}\n >\n {format(day, 'd')}\n </je-button>\n );\n })}\n\n {daysAfter.map(day => (\n <je-button expand={true} disabled={true} color='secondary' fill='clear' class='day'>\n {format(day, 'd')}\n </je-button>\n ))}\n </div>\n </Fragment>\n )}\n {(this.type == 'time' || this.type == 'datetime') && (\n <div class='timepicker'>\n <span>Time</span>\n <je-popover arrow={true} onPresent={this.scrollTimeIntoView}>\n <je-pill slot='trigger'>\n {this.value ? (\n this.includeSeconds ? format(this.value, 'hh:mm:ss a') : format(this.value, 'hh:mm a')\n ) : '-'}\n </je-pill>\n <div class='timepicker-content'>\n <div class='timepicker-column'>\n {Array.from({ length: 24 }).map((_, hour) => (\n <je-button\n size='sm'\n color={this.currentDate.getHours() === hour ? 'primary' : undefined}\n fill={this.currentDate.getHours() === hour ? 'solid' : 'clear'}\n onClick={() => this.setHour(hour)}\n >\n {format(new Date().setHours(hour), 'hh a')}\n </je-button>\n ))}\n </div>\n <div class='timepicker-column'>\n {Array.from({ length: 60 }).map((_, minute) => (\n <je-button\n size='sm'\n color={this.currentDate.getMinutes() === minute ? 'primary' : undefined}\n fill={this.currentDate.getMinutes() === minute ? 'solid' : 'clear'}\n onClick={() => this.setMinute(minute)}\n >\n {format(new Date().setMinutes(minute), 'mm')}\n </je-button>\n ))}\n </div>\n {this.includeSeconds && (\n <div class='timepicker-column'>\n {Array.from({ length: 60 }).map((_, second) => (\n <je-button\n size='sm'\n color={this.currentDate.getSeconds() === second ? 'primary' : undefined}\n fill={this.currentDate.getSeconds() === second ? 'solid' : 'clear'}\n onClick={() => this.setSecond(second)}\n >\n {format(new Date().setSeconds(second), 'ss')}\n </je-button>\n ))}\n </div>\n )}\n </div>\n </je-popover>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"je-datepicker.js","sourceRoot":"","sources":["../../../src/components/je-datepicker/je-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { startOfMonth, endOfMonth, eachDayOfInterval, addMonths, subMonths, isSameDay, isToday, format, getDay, set } from 'date-fns';\n\nconst daysOfWeek = ['S', 'M', 'T', 'W', 'T', 'F', 'S'] as const;\n\n@Component({\n tag: 'je-datepicker',\n styleUrl: 'je-datepicker.scss',\n shadow: true,\n})\nexport class JeDatepicker {\n @Element() el!: HTMLJeDatepickerElement;\n @State() currentDate = new Date();\n @Prop() type: 'date' | 'datetime' | 'time' = 'datetime';\n @Prop() includeSeconds = false;\n @Prop() min?: number;\n @Prop() max?: number;\n @Prop() isDateDisabled?: (date: Date) => boolean;\n @Prop({ mutable: true }) value?: number;\n @Event() valueChange: EventEmitter<number>;\n\n componentWillLoad() {\n if (this.value) {\n this.currentDate = new Date(this.value);\n }\n }\n\n @Watch('value')\n valueChangeHandler() {\n if (this.value) {\n this.currentDate = new Date(this.value);\n }\n }\n\n nextMonth = () => {\n this.currentDate = addMonths(this.currentDate, 1);\n }\n\n prevMonth = () => {\n this.currentDate = subMonths(this.currentDate, 1);\n }\n\n nextYear = () => {\n this.currentDate = addMonths(this.currentDate, 12);\n }\n\n prevYear = () => {\n this.currentDate = subMonths(this.currentDate, 12);\n }\n\n setValue = (opts: { day?: Date, hour?: number, minute?: number, second?: number }) => {\n const newValue = set(this.value ?? new Date(), {\n year: opts.day?.getFullYear(),\n month: opts.day?.getMonth(),\n date: opts.day?.getDate(),\n hours: opts.hour,\n minutes: opts.minute,\n seconds: opts.second\n })\n this.value = newValue.getTime();\n this.valueChange.emit(this.value);\n }\n\n scrollTimeIntoView = () => {\n this.el.shadowRoot.querySelectorAll('.timepicker-column').forEach(column => {\n column.querySelector('je-button[color=\"primary\"][fill=\"solid\"]')\n ?.shadowRoot.querySelector('button')\n ?.scrollIntoView({ block: 'center', behavior: 'instant' });\n });\n }\n\n render() {\n const firstDayOfMonth = startOfMonth(this.currentDate);\n const lastDayOfMonth = endOfMonth(this.currentDate);\n const daysInMonth = eachDayOfInterval({ start: firstDayOfMonth, end: lastDayOfMonth });\n\n const prevMonth = subMonths(this.currentDate, 1);\n const prevMonthEnd = endOfMonth(prevMonth);\n\n const firstDayOfWeek = getDay(firstDayOfMonth);\n const daysBefore = Array.from({ length: firstDayOfWeek }).map((_, i) =>\n subMonths(this.currentDate, 1).setDate(prevMonthEnd.getDate() - (firstDayOfWeek - i - 1))\n );\n\n const lastDayOfWeek = getDay(lastDayOfMonth);\n const daysAfter = Array.from({ length: 6 - lastDayOfWeek }).map((_, i) =>\n addMonths(this.currentDate, 1).setDate(i + 1)\n );\n\n return (\n <Host>\n {(this.type == 'date' || this.type == 'datetime') && (\n <Fragment>\n <div class=\"header\">\n <je-icon-button icon='keyboard_double_arrow_left' onClick={this.prevYear} />\n <je-icon-button icon='keyboard_arrow_left' onClick={this.prevMonth} />\n <span>{format(this.currentDate, 'MMMM yyyy')}</span>\n <je-icon-button icon='keyboard_arrow_right' onClick={this.nextMonth} />\n <je-icon-button icon='keyboard_double_arrow_right' onClick={this.nextYear} />\n </div>\n\n <div class=\"weekdays-grid\">\n {daysOfWeek.map(day => <div>{day}</div>)}\n </div>\n\n <div class=\"days-grid\">\n {daysBefore.map(day => (\n <je-button expand={true} disabled={true} color='secondary' fill='clear' class='day'>\n {format(day, 'd')}\n </je-button>\n ))}\n\n {daysInMonth.map(day => {\n const selected = this.value && isSameDay(day, this.value);\n const today = isToday(day);\n const isDisabled = (this.isDateDisabled && this.isDateDisabled(day)) || (this.min && day < new Date(this.min)) || (this.max && day > new Date(this.max));\n return (\n <je-button\n expand={true}\n disabled={isDisabled}\n color={selected || today ? 'primary' : isDisabled ? 'secondary' : undefined}\n fill={selected ? 'solid' : 'clear'}\n class='day'\n onClick={() => this.setValue({day})}\n >\n {format(day, 'd')}\n </je-button>\n );\n })}\n\n {daysAfter.map(day => (\n <je-button expand={true} disabled={true} color='secondary' fill='clear' class='day'>\n {format(day, 'd')}\n </je-button>\n ))}\n </div>\n </Fragment>\n )}\n {(this.type == 'time' || this.type == 'datetime') && (\n <div class='timepicker'>\n <span>Time</span>\n <je-popover arrow={true} onPresent={this.scrollTimeIntoView}>\n <je-pill role='button' {...{tabindex: 0}} slot='trigger'>\n {this.value ? (\n this.includeSeconds ? format(this.value, 'hh:mm:ss a') : format(this.value, 'hh:mm a')\n ) : '-'}\n </je-pill>\n <div class='timepicker-content'>\n <div class='timepicker-column'>\n {Array.from({ length: 24 }).map((_, hour) => (\n <je-button\n size='sm'\n color={this.currentDate.getHours() === hour ? 'primary' : undefined}\n fill={this.currentDate.getHours() === hour ? 'solid' : 'clear'}\n onClick={() => this.setValue({hour})}\n >\n {format(new Date().setHours(hour), 'hh a')}\n </je-button>\n ))}\n </div>\n <div class='timepicker-column'>\n {Array.from({ length: 60 }).map((_, minute) => (\n <je-button\n size='sm'\n color={this.currentDate.getMinutes() === minute ? 'primary' : undefined}\n fill={this.currentDate.getMinutes() === minute ? 'solid' : 'clear'}\n onClick={() => this.setValue({minute})}\n >\n {format(new Date().setMinutes(minute), 'mm')}\n </je-button>\n ))}\n </div>\n {this.includeSeconds && (\n <div class='timepicker-column'>\n {Array.from({ length: 60 }).map((_, second) => (\n <je-button\n size='sm'\n color={this.currentDate.getSeconds() === second ? 'primary' : undefined}\n fill={this.currentDate.getSeconds() === second ? 'solid' : 'clear'}\n onClick={() => this.setValue({second})}\n >\n {format(new Date().setSeconds(second), 'ss')}\n </je-button>\n ))}\n </div>\n )}\n </div>\n </je-popover>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -3,39 +3,36 @@
|
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
5
5
|
box-sizing: border-box;
|
|
6
|
-
gap: var(--je-spacing-
|
|
7
|
-
padding-inline:
|
|
8
|
-
border-radius: var(--je-
|
|
9
|
-
height:
|
|
10
|
-
min-width:
|
|
6
|
+
gap: var(--je-spacing-xs, 0.5rem);
|
|
7
|
+
padding-inline: var(--je-spacing-xs, 0.5rem);
|
|
8
|
+
border-radius: var(--je-radius-md, 0.375rem);
|
|
9
|
+
height: 1.5rem;
|
|
10
|
+
min-width: 2.5rem;
|
|
11
11
|
-webkit-user-select: none;
|
|
12
12
|
user-select: none;
|
|
13
13
|
transition: all 125ms ease-in-out;
|
|
14
14
|
color: var(--je-pill-color);
|
|
15
15
|
background-color: var(--je-pill-background);
|
|
16
|
-
--je-pill-color: var(--je-primary
|
|
17
|
-
--je-pill-background: var(--je-primary
|
|
18
|
-
--je-pill-hover-background: var(--je-primary
|
|
16
|
+
--je-pill-color: var(--je-primary, #4141e8);
|
|
17
|
+
--je-pill-background: color-mix(in srgb, var(--je-primary, #4141e8) 20%, white 80%);
|
|
18
|
+
--je-pill-hover-background: color-mix(in srgb, var(--je-primary, #4141e8) 40%, white 60%);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
:host(
|
|
21
|
+
:host([role=button]) {
|
|
22
22
|
cursor: pointer;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
|
|
25
|
+
:host([role=button][disabled]) {
|
|
26
|
+
opacity: 0.6;
|
|
27
|
+
cursor: not-allowed;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
@media (hover: hover) {
|
|
29
|
-
:host(
|
|
31
|
+
:host([role=button]:not([disabled]):hover) {
|
|
30
32
|
--je-pill-background: var(--je-pill-hover-background);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
:host([disabled]) {
|
|
35
|
-
opacity: 0.8;
|
|
36
|
-
cursor: default;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
36
|
:host([outline]) {
|
|
40
37
|
background-color: transparent;
|
|
41
38
|
color: var(--je-pill-color);
|
|
@@ -2,11 +2,14 @@ import { Host, h } from "@stencil/core";
|
|
|
2
2
|
export class JePill {
|
|
3
3
|
constructor() {
|
|
4
4
|
this.outline = false;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
}
|
|
6
|
+
onClick(ev) {
|
|
7
|
+
if (this.el.role == 'button' && (ev.key == ' ' || ev.key == 'Enter')) {
|
|
8
|
+
this.el.click();
|
|
9
|
+
}
|
|
7
10
|
}
|
|
8
11
|
render() {
|
|
9
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: '821cec5f9cdf0da827cc016dd303b7e7d453b142' }, h("slot", { key: 'e16c13a98cedb8434cb471adbbd6f2b1ddf74f2b' })));
|
|
10
13
|
}
|
|
11
14
|
static get is() { return "je-pill"; }
|
|
12
15
|
static get encapsulation() { return "shadow"; }
|
|
@@ -41,48 +44,18 @@ export class JePill {
|
|
|
41
44
|
"setter": false,
|
|
42
45
|
"reflect": true,
|
|
43
46
|
"defaultValue": "false"
|
|
44
|
-
},
|
|
45
|
-
"button": {
|
|
46
|
-
"type": "boolean",
|
|
47
|
-
"attribute": "button",
|
|
48
|
-
"mutable": false,
|
|
49
|
-
"complexType": {
|
|
50
|
-
"original": "boolean",
|
|
51
|
-
"resolved": "boolean",
|
|
52
|
-
"references": {}
|
|
53
|
-
},
|
|
54
|
-
"required": false,
|
|
55
|
-
"optional": false,
|
|
56
|
-
"docs": {
|
|
57
|
-
"tags": [],
|
|
58
|
-
"text": ""
|
|
59
|
-
},
|
|
60
|
-
"getter": false,
|
|
61
|
-
"setter": false,
|
|
62
|
-
"reflect": true,
|
|
63
|
-
"defaultValue": "true"
|
|
64
|
-
},
|
|
65
|
-
"disabled": {
|
|
66
|
-
"type": "boolean",
|
|
67
|
-
"attribute": "disabled",
|
|
68
|
-
"mutable": false,
|
|
69
|
-
"complexType": {
|
|
70
|
-
"original": "boolean",
|
|
71
|
-
"resolved": "boolean",
|
|
72
|
-
"references": {}
|
|
73
|
-
},
|
|
74
|
-
"required": false,
|
|
75
|
-
"optional": false,
|
|
76
|
-
"docs": {
|
|
77
|
-
"tags": [],
|
|
78
|
-
"text": ""
|
|
79
|
-
},
|
|
80
|
-
"getter": false,
|
|
81
|
-
"setter": false,
|
|
82
|
-
"reflect": true,
|
|
83
|
-
"defaultValue": "false"
|
|
84
47
|
}
|
|
85
48
|
};
|
|
86
49
|
}
|
|
50
|
+
static get elementRef() { return "el"; }
|
|
51
|
+
static get listeners() {
|
|
52
|
+
return [{
|
|
53
|
+
"name": "keydown",
|
|
54
|
+
"method": "onClick",
|
|
55
|
+
"target": undefined,
|
|
56
|
+
"capture": true,
|
|
57
|
+
"passive": false
|
|
58
|
+
}];
|
|
59
|
+
}
|
|
87
60
|
}
|
|
88
61
|
//# sourceMappingURL=je-pill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"je-pill.js","sourceRoot":"","sources":["../../../src/components/je-pill/je-pill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"je-pill.js","sourceRoot":"","sources":["../../../src/components/je-pill/je-pill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAO1E,MAAM,OAAO,MAAM;IALnB;QAO2B,YAAO,GAAG,KAAK,CAAC;KAgB1C;IAbC,OAAO,CAAC,EAAiB;QACvB,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Host, Listen, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'je-pill',\n styleUrl: 'je-pill.scss',\n shadow: true,\n})\nexport class JePill {\n @Element() el: HTMLJePillElement\n @Prop({ reflect: true }) outline = false;\n\n @Listen('keydown', { capture: true })\n onClick(ev: KeyboardEvent) {\n if (this.el.role == 'button' && (ev.key == ' ' || ev.key == 'Enter')) {\n this.el.click()\n }\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -31,12 +31,25 @@ div[part=container] {
|
|
|
31
31
|
div[part=container].sm {
|
|
32
32
|
height: 2.5rem;
|
|
33
33
|
}
|
|
34
|
+
div[part=container].sm textarea {
|
|
35
|
+
height: 6rem;
|
|
36
|
+
}
|
|
34
37
|
div[part=container].md {
|
|
35
38
|
height: 3rem;
|
|
36
39
|
}
|
|
40
|
+
div[part=container].md textarea {
|
|
41
|
+
height: 8rem;
|
|
42
|
+
}
|
|
37
43
|
div[part=container].lg {
|
|
38
44
|
height: 3.5rem;
|
|
39
45
|
}
|
|
46
|
+
div[part=container].lg textarea {
|
|
47
|
+
height: 10rem;
|
|
48
|
+
}
|
|
49
|
+
div[part=container].multiline {
|
|
50
|
+
align-items: baseline;
|
|
51
|
+
height: fit-content;
|
|
52
|
+
}
|
|
40
53
|
div[part=container].disabled {
|
|
41
54
|
opacity: 0.6;
|
|
42
55
|
cursor: not-allowed;
|
|
@@ -47,8 +60,10 @@ textarea {
|
|
|
47
60
|
background-color: inherit;
|
|
48
61
|
color: inherit;
|
|
49
62
|
font-family: inherit;
|
|
63
|
+
box-shadow: none;
|
|
50
64
|
flex: 1;
|
|
51
65
|
min-width: 0;
|
|
66
|
+
box-sizing: border-box;
|
|
52
67
|
outline: 0;
|
|
53
68
|
border: 0;
|
|
54
69
|
margin: 0;
|
|
@@ -68,4 +83,12 @@ input[type=password]::-ms-reveal, input[type=password]::-ms-clear,
|
|
|
68
83
|
textarea[type=password]::-ms-reveal,
|
|
69
84
|
textarea[type=password]::-ms-clear {
|
|
70
85
|
display: none !important;
|
|
86
|
+
}
|
|
87
|
+
input.suppress::-webkit-calendar-picker-indicator,
|
|
88
|
+
textarea.suppress::-webkit-calendar-picker-indicator {
|
|
89
|
+
display: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
textarea {
|
|
93
|
+
resize: none;
|
|
71
94
|
}
|
|
@@ -46,6 +46,10 @@ export class JeTextfield {
|
|
|
46
46
|
* Optional debounce of the didInput event
|
|
47
47
|
*/
|
|
48
48
|
this.debounce = 0;
|
|
49
|
+
/**
|
|
50
|
+
* Whether to suppress the default behavior of the input event
|
|
51
|
+
*/
|
|
52
|
+
this.suppressDefaultBehavior = false;
|
|
49
53
|
/**
|
|
50
54
|
* Whether the control is a multiline textarea
|
|
51
55
|
*/
|
|
@@ -92,6 +96,7 @@ export class JeTextfield {
|
|
|
92
96
|
if (input) {
|
|
93
97
|
const transformer = this.getTransformer();
|
|
94
98
|
this.value = (transformer === null || transformer === void 0 ? void 0 : transformer.to) ? transformer.to(input.value) : input.value;
|
|
99
|
+
this.valueChange.emit(this.value);
|
|
95
100
|
}
|
|
96
101
|
};
|
|
97
102
|
this.onFocus = () => {
|
|
@@ -100,6 +105,10 @@ export class JeTextfield {
|
|
|
100
105
|
else
|
|
101
106
|
this.touched = true;
|
|
102
107
|
};
|
|
108
|
+
this.suppress = (ev) => {
|
|
109
|
+
if (this.suppressDefaultBehavior)
|
|
110
|
+
ev.preventDefault();
|
|
111
|
+
};
|
|
103
112
|
}
|
|
104
113
|
/**
|
|
105
114
|
* Shows an error icon in the end slot when true. If a string is passed in, it will render the icon as a tooltip.
|
|
@@ -182,10 +191,10 @@ export class JeTextfield {
|
|
|
182
191
|
formResetCallback() {
|
|
183
192
|
this.touched = false;
|
|
184
193
|
this.value = this.originalValue;
|
|
194
|
+
this.valueChange.emit(this.value);
|
|
185
195
|
}
|
|
186
196
|
handleValueChange() {
|
|
187
197
|
this.internals.setFormValue(this.value || null);
|
|
188
|
-
this.valueChange.emit(this.value);
|
|
189
198
|
}
|
|
190
199
|
async getInputElement() {
|
|
191
200
|
return this.inputEl;
|
|
@@ -227,7 +236,7 @@ export class JeTextfield {
|
|
|
227
236
|
}
|
|
228
237
|
render() {
|
|
229
238
|
const transformer = this.getTransformer();
|
|
230
|
-
return (h(Host, { key: '
|
|
239
|
+
return (h(Host, { key: 'a52d3a7bd3e5e0c4e6c859a72f48f893fb866bab' }, h("div", { key: 'c27748e651021af13d1ae02d13ff9c9cdca446f5', part: "container", class: { [this.size]: true, disabled: this.disabled, multiline: this.multiline } }, h("slot", { key: '6548366035abda07c31d9706bc1769e0bc5930d6', name: "start" }), h("slot", { key: '4d2d4f82ede98bb949dd6332fd41e51cce2910b8', name: 'label' }, this.label && h("je-label", { key: '7f73f66c833a4a998446d61bb3b169f8382da4c9', part: 'label', required: this.required }, this.label)), this.multiline ? (h("textarea", { part: "textarea", tabindex: 0, ref: el => (this.inputEl = el), onInputCapture: this.formatInput, onInput: this.handleInput, onFocus: this.onFocus, autoCapitalize: this.autoCapitalize, autoComplete: this.autoComplete, autoCorrect: this.autoCorrect, autoFocus: this.autoFocus, disabled: this.disabled, maxLength: this.maxlength, minLength: this.minlength, placeholder: this.placeholder, readonly: this.readonly, required: this.required, spellcheck: this.spellcheck, wrap: this.wrap, value: (transformer === null || transformer === void 0 ? void 0 : transformer.from) ? transformer.from(this.value) : this.value })) : (h("input", { part: 'input', tabindex: 0, ref: el => (this.inputEl = el), class: { suppress: this.suppressDefaultBehavior }, onInputCapture: this.formatInput, onInput: this.handleInput, onClick: this.suppress, onFocus: this.onFocus, disabled: this.disabled, autoCapitalize: this.autoCapitalize, autoComplete: this.autoComplete, autoCorrect: this.autoCorrect, autoFocus: this.autoFocus, inputMode: this.inputMode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, pattern: this.pattern, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type == 'password' && this.showPassword ? 'text' : this.type, value: (transformer === null || transformer === void 0 ? void 0 : transformer.from) ? transformer.from(this.value) : this.value, placeholder: this.placeholder })), this.type === 'password' && (h("je-icon-button", { key: '86ac59f2f95280f02dc8613b95f94e4058ec3eb6', size: "sm", icon: this.showPassword ? 'visibility_off' : 'visibility', onClick: () => (this.showPassword = !this.showPassword) })), h("slot", { key: 'dc85d54775294f0f4959bea0b2bde250ac5b3fe9', name: "end" }), this.pending && h("je-loading", { key: '35d31a52673fee756bb81005ba20d625e1af0384' }), this.success && h("je-color", { key: 'f7cb7c4b7ef2f80749035dc92253d966d7264cc0', color: "success" }, h("je-icon", { key: '5a96015088e709dfe9cbe4456483007b136c9c10', fill: true, size: "sm" }, "check_circle")), this.error && typeof this.error === 'string' ? (h("je-tooltip", null, h("je-color", { color: "danger" }, h("je-icon", { fill: true, size: "sm" }, "error")), h("div", { slot: "content" }, this.error))) : this.error ? (h("je-color", { color: "danger" }, h("je-icon", { fill: true, size: "sm" }, "error"))) : null), h("slot", { key: 'db5b8163b06878b5a9cdf9d8884ffe2a0badedf6', name: 'note' }, this.invalid && this.touched ? (h("je-note", { part: 'note', invalid: true }, this.internals.validationMessage)) : this.note ? (h("je-note", { part: 'note' }, this.note)) : null)));
|
|
231
240
|
}
|
|
232
241
|
static get is() { return "je-textfield"; }
|
|
233
242
|
static get encapsulation() { return "shadow"; }
|
|
@@ -759,6 +768,26 @@ export class JeTextfield {
|
|
|
759
768
|
"setter": false,
|
|
760
769
|
"reflect": false
|
|
761
770
|
},
|
|
771
|
+
"suppressDefaultBehavior": {
|
|
772
|
+
"type": "boolean",
|
|
773
|
+
"attribute": "suppress-default-behavior",
|
|
774
|
+
"mutable": false,
|
|
775
|
+
"complexType": {
|
|
776
|
+
"original": "boolean",
|
|
777
|
+
"resolved": "boolean",
|
|
778
|
+
"references": {}
|
|
779
|
+
},
|
|
780
|
+
"required": false,
|
|
781
|
+
"optional": false,
|
|
782
|
+
"docs": {
|
|
783
|
+
"tags": [],
|
|
784
|
+
"text": "Whether to suppress the default behavior of the input event"
|
|
785
|
+
},
|
|
786
|
+
"getter": false,
|
|
787
|
+
"setter": false,
|
|
788
|
+
"reflect": false,
|
|
789
|
+
"defaultValue": "false"
|
|
790
|
+
},
|
|
762
791
|
"transform": {
|
|
763
792
|
"type": "string",
|
|
764
793
|
"attribute": "transform",
|