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.
Files changed (93) hide show
  1. package/components/je-alert.js +2 -2
  2. package/components/je-button.js +1 -1
  3. package/components/je-card.js +1 -1
  4. package/components/je-card.js.map +1 -1
  5. package/components/je-datepicker.js +21 -25
  6. package/components/je-datepicker.js.map +1 -1
  7. package/components/je-details.js +2 -2
  8. package/components/je-icon-button.js +1 -1
  9. package/components/je-pill.js +1 -1
  10. package/components/je-textfield.js +15 -5
  11. package/components/je-textfield.js.map +1 -1
  12. package/components/p-B4Ctd9hh.js +43 -0
  13. package/components/p-B4Ctd9hh.js.map +1 -0
  14. package/components/{p-DDWeNBqe.js → p-D2R7Jtds.js} +5 -5
  15. package/components/p-D2R7Jtds.js.map +1 -0
  16. package/components/{p-C07q1kKX.js → p-DvT9jOjY.js} +3 -3
  17. package/components/{p-C07q1kKX.js.map → p-DvT9jOjY.js.map} +1 -1
  18. package/dist/cjs/je-button.je-icon-button.je-loading.entry.cjs.js.map +1 -1
  19. package/dist/cjs/je-button_3.cjs.entry.js +3 -3
  20. package/dist/cjs/je-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/je-card.cjs.entry.js +1 -1
  22. package/dist/cjs/je-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/je-card.entry.cjs.js.map +1 -1
  24. package/dist/cjs/je-datepicker.cjs.entry.js +18 -22
  25. package/dist/cjs/je-datepicker.cjs.entry.js.map +1 -1
  26. package/dist/cjs/je-datepicker.entry.cjs.js.map +1 -1
  27. package/dist/cjs/je-pill.cjs.entry.js +8 -4
  28. package/dist/cjs/je-pill.cjs.entry.js.map +1 -1
  29. package/dist/cjs/je-pill.entry.cjs.js.map +1 -1
  30. package/dist/cjs/je-textfield.cjs.entry.js +12 -3
  31. package/dist/cjs/je-textfield.cjs.entry.js.map +1 -1
  32. package/dist/cjs/je-textfield.entry.cjs.js.map +1 -1
  33. package/dist/cjs/jebamo.cjs.js +1 -1
  34. package/dist/cjs/loader.cjs.js +1 -1
  35. package/dist/collection/components/je-button/je-button.js +3 -3
  36. package/dist/collection/components/je-button/je-button.js.map +1 -1
  37. package/dist/collection/components/je-card/je-card.css +1 -0
  38. package/dist/collection/components/je-datepicker/je-datepicker.css +4 -4
  39. package/dist/collection/components/je-datepicker/je-datepicker.js +19 -23
  40. package/dist/collection/components/je-datepicker/je-datepicker.js.map +1 -1
  41. package/dist/collection/components/je-pill/je-pill.css +14 -17
  42. package/dist/collection/components/je-pill/je-pill.js +16 -43
  43. package/dist/collection/components/je-pill/je-pill.js.map +1 -1
  44. package/dist/collection/components/je-textfield/je-textfield.css +23 -0
  45. package/dist/collection/components/je-textfield/je-textfield.js +31 -2
  46. package/dist/collection/components/je-textfield/je-textfield.js.map +1 -1
  47. package/dist/esm/je-button.je-icon-button.je-loading.entry.js.map +1 -1
  48. package/dist/esm/je-button_3.entry.js +3 -3
  49. package/dist/esm/je-button_3.entry.js.map +1 -1
  50. package/dist/esm/je-card.entry.js +1 -1
  51. package/dist/esm/je-card.entry.js.map +1 -1
  52. package/dist/esm/je-datepicker.entry.js +18 -22
  53. package/dist/esm/je-datepicker.entry.js.map +1 -1
  54. package/dist/esm/je-pill.entry.js +9 -5
  55. package/dist/esm/je-pill.entry.js.map +1 -1
  56. package/dist/esm/je-textfield.entry.js +12 -3
  57. package/dist/esm/je-textfield.entry.js.map +1 -1
  58. package/dist/esm/jebamo.js +1 -1
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/jebamo/je-button.je-icon-button.je-loading.entry.esm.js.map +1 -1
  61. package/dist/jebamo/je-card.entry.esm.js.map +1 -1
  62. package/dist/jebamo/je-datepicker.entry.esm.js.map +1 -1
  63. package/dist/jebamo/je-pill.entry.esm.js.map +1 -1
  64. package/dist/jebamo/je-textfield.entry.esm.js.map +1 -1
  65. package/dist/jebamo/jebamo.esm.js +1 -1
  66. package/dist/jebamo/p-1221fc3d.entry.js +2 -0
  67. package/dist/jebamo/p-1221fc3d.entry.js.map +1 -0
  68. package/dist/jebamo/p-3ab440dd.entry.js +2 -0
  69. package/dist/jebamo/p-3ab440dd.entry.js.map +1 -0
  70. package/dist/jebamo/{p-877450ab.entry.js → p-7365017e.entry.js} +2 -2
  71. package/dist/jebamo/p-7365017e.entry.js.map +1 -0
  72. package/dist/jebamo/p-c37c93ea.entry.js +2 -0
  73. package/dist/jebamo/p-c37c93ea.entry.js.map +1 -0
  74. package/dist/jebamo/p-c85b30e4.entry.js +2 -0
  75. package/dist/jebamo/p-c85b30e4.entry.js.map +1 -0
  76. package/dist/types/components/je-datepicker/je-datepicker.d.ts +7 -5
  77. package/dist/types/components/je-pill/je-pill.d.ts +2 -2
  78. package/dist/types/components/je-textfield/je-textfield.d.ts +5 -0
  79. package/dist/types/components.d.ts +10 -6
  80. package/package.json +1 -1
  81. package/components/p-DDWeNBqe.js.map +0 -1
  82. package/components/p-lBr1fFg4.js +0 -41
  83. package/components/p-lBr1fFg4.js.map +0 -1
  84. package/dist/jebamo/p-0fde45e3.entry.js +0 -2
  85. package/dist/jebamo/p-0fde45e3.entry.js.map +0 -1
  86. package/dist/jebamo/p-3975f47b.entry.js +0 -2
  87. package/dist/jebamo/p-3975f47b.entry.js.map +0 -1
  88. package/dist/jebamo/p-877450ab.entry.js.map +0 -1
  89. package/dist/jebamo/p-9d90ba0c.entry.js +0 -2
  90. package/dist/jebamo/p-9d90ba0c.entry.js.map +0 -1
  91. package/dist/jebamo/p-ee50e126.entry.js +0 -2
  92. package/dist/jebamo/p-ee50e126.entry.js.map +0 -1
  93. package/dist/vscode-data.json +0 -1698
@@ -1 +1 @@
1
- {"version":3,"file":"je-datepicker.entry.cjs.js","sources":["src/components/je-datepicker/je-datepicker.scss?tag=je-datepicker&encapsulation=shadow","src/components/je-datepicker/je-datepicker.tsx"],"sourcesContent":["@use '../../styles/styles' as *;\n\n:host {\n display: flex;\n padding: spacing-get(xs);\n box-sizing: border-box;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: spacing-get(sm);\n}\n\nje-button.day {\n --height: #{spacing-get(xl)};\n --padding-inline: 0px;\n\n &::part(inner-button) {\n width: spacing-get(xl);\n font-weight: 400;\n }\n}\n\n.header {\n width: 100%;\n min-width: 200px;\n max-width: 300px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n span {\n flex: 1;\n text-align: center;\n }\n}\n\n.weekdays-grid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: spacing-get(2xs);\n\n div {\n height: spacing-get(xl);\n width: spacing-get(xl);\n font-size: font-size(md);\n font-weight: 400;\n color: secondary(600);\n text-align: center;\n align-content: center;\n }\n}\n\n.days-grid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: spacing-get(2xs);\n}\n\n.timepicker {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n min-width: 200px;\n max-width: 300px;\n}\n\n.timepicker-content {\n display: flex;\n}\n\n.timepicker-column {\n display: flex;\n flex-direction: column;\n gap: spacing-get(2xs);\n height: 200px;\n overflow: auto;\n align-items: center;\n padding: spacing-get(xs);\n box-sizing: border-box;\n}\n","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"],"names":["addMonths","subMonths","set","setHours","setMinutes","setSeconds","startOfMonth","endOfMonth","eachDayOfInterval","getDay","h","Host","Fragment","format","isSameDay","isToday"],"mappings":"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"}
1
+ {"version":3,"file":"je-datepicker.entry.cjs.js","sources":["src/components/je-datepicker/je-datepicker.scss?tag=je-datepicker&encapsulation=shadow","src/components/je-datepicker/je-datepicker.tsx"],"sourcesContent":["@use '../../styles/styles' as *;\n\n:host {\n display: flex;\n padding: spacing-get(xs);\n box-sizing: border-box;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: spacing-get(sm);\n}\n\nje-button.day {\n --height: #{spacing-get(2xl)};\n --padding-inline: 0px;\n\n &::part(inner-button) {\n width: spacing-get(2xl);\n font-weight: 400;\n }\n}\n\n.header {\n width: 100%;\n min-width: 200px;\n max-width: 300px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n span {\n flex: 1;\n text-align: center;\n }\n}\n\n.weekdays-grid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: spacing-get(2xs);\n\n div {\n height: spacing-get(2xl);\n width: spacing-get(2xl);\n font-size: font-size(md);\n font-weight: 400;\n color: secondary(600);\n text-align: center;\n align-content: center;\n }\n}\n\n.days-grid {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: spacing-get(2xs);\n}\n\n.timepicker {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n min-width: 200px;\n max-width: 300px;\n}\n\n.timepicker-content {\n display: flex;\n}\n\n.timepicker-column {\n display: flex;\n flex-direction: column;\n gap: spacing-get(2xs);\n height: 200px;\n overflow: auto;\n align-items: center;\n padding: spacing-get(xs);\n box-sizing: border-box;\n}\n","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"],"names":["addMonths","subMonths","set","startOfMonth","endOfMonth","eachDayOfInterval","getDay","h","Host","Fragment","format","isSameDay","isToday"],"mappings":"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"}
@@ -2,18 +2,22 @@
2
2
 
3
3
  var index = require('./index-Dl5p0zF3.js');
4
4
 
5
- const jePillCss = ":host{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;gap:var(--je-spacing-2xs);padding-inline:4px;border-radius:var(--je-border-radius, 2px);height:20px;min-width:40px;-webkit-user-select:none;user-select:none;transition:all 125ms ease-in-out;color:var(--je-pill-color);background-color:var(--je-pill-background);--je-pill-color:var(--je-primary-500, buttonface);--je-pill-background:var(--je-primary-100, buttontext);--je-pill-hover-background:var(--je-primary-200, buttontext)}:host(:not([button=false])){cursor:pointer}:host(:not([button=false])) ::slotted(je-icon){cursor:pointer}@media (hover: hover){:host(:not([button=false]):not([disabled]):hover){--je-pill-background:var(--je-pill-hover-background)}}:host([disabled]){opacity:0.8;cursor:default}:host([outline]){background-color:transparent;color:var(--je-pill-color);border:solid 1px var(--je-pill-background)}";
5
+ const jePillCss = ":host{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;gap:var(--je-spacing-xs, 0.5rem);padding-inline:var(--je-spacing-xs, 0.5rem);border-radius:var(--je-radius-md, 0.375rem);height:1.5rem;min-width:2.5rem;-webkit-user-select:none;user-select:none;transition:all 125ms ease-in-out;color:var(--je-pill-color);background-color:var(--je-pill-background);--je-pill-color:var(--je-primary, #4141e8);--je-pill-background:color-mix(in srgb, var(--je-primary, #4141e8) 20%, white 80%);--je-pill-hover-background:color-mix(in srgb, var(--je-primary, #4141e8) 40%, white 60%)}:host([role=button]){cursor:pointer}:host([role=button][disabled]){opacity:0.6;cursor:not-allowed}@media (hover: hover){:host([role=button]:not([disabled]):hover){--je-pill-background:var(--je-pill-hover-background)}}:host([outline]){background-color:transparent;color:var(--je-pill-color);border:solid 1px var(--je-pill-background)}";
6
6
 
7
7
  const JePill = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
10
  this.outline = false;
11
- this.button = true;
12
- this.disabled = false;
11
+ }
12
+ onClick(ev) {
13
+ if (this.el.role == 'button' && (ev.key == ' ' || ev.key == 'Enter')) {
14
+ this.el.click();
15
+ }
13
16
  }
14
17
  render() {
15
- return (index.h(index.Host, { key: '8e8b4caf9684c5ac5d4e92aac5988a7bab70393a' }, index.h("slot", { key: '459f21016cd0577bcccff43252b9a7c0b8e2e4b7' })));
18
+ return (index.h(index.Host, { key: '821cec5f9cdf0da827cc016dd303b7e7d453b142' }, index.h("slot", { key: 'e16c13a98cedb8434cb471adbbd6f2b1ddf74f2b' })));
16
19
  }
20
+ get el() { return index.getElement(this); }
17
21
  };
18
22
  JePill.style = jePillCss;
19
23
 
@@ -1 +1 @@
1
- {"file":"je-pill.entry.cjs.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,84BAA84B;;MCOn5B,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAM2B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI;AACb,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAS1C;IAPC,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;","names":["h","Host"],"sources":["src/components/je-pill/je-pill.scss?tag=je-pill&encapsulation=shadow","src/components/je-pill/je-pill.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n gap: var(--je-spacing-2xs);\n padding-inline: 4px;\n border-radius: var(--je-border-radius, 2px);\n height: 20px;\n min-width: 40px;\n -webkit-user-select: none;\n user-select: none;\n transition: all 125ms ease-in-out;\n color: var(--je-pill-color);\n background-color: var(--je-pill-background);\n\n --je-pill-color: var(--je-primary-500, buttonface);\n --je-pill-background: var(--je-primary-100, buttontext);\n --je-pill-hover-background: var(--je-primary-200, buttontext);\n}\n\n:host(:not([button=false])) {\n cursor: pointer;\n ::slotted(je-icon) {\n cursor: pointer;\n }\n}\n\n:host(:not([button=false]):not([disabled]):hover) {\n @media (hover: hover) {\n --je-pill-background: var(--je-pill-hover-background);\n }\n}\n\n:host([disabled]) {\n opacity: 0.8;\n cursor: default;\n}\n\n:host([outline]) {\n background-color: transparent;\n color: var(--je-pill-color);\n border: solid 1px var(--je-pill-background);\n}\n","import { Component, Host, 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 @Prop({ reflect: true }) outline = false;\n @Prop({ reflect: true }) button = true;\n @Prop({ reflect: true }) disabled = false;\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"je-pill.entry.cjs.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,y6BAAy6B;;MCO96B,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAO2B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAgBzC;AAbC,IAAA,OAAO,CAAC,EAAiB,EAAA;QACvB,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,QAAQ,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE;AACpE,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;;;IAInB,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;","names":["h","Host"],"sources":["src/components/je-pill/je-pill.scss?tag=je-pill&encapsulation=shadow","src/components/je-pill/je-pill.tsx"],"sourcesContent":["@use '../../styles/styles' as *;\n\n:host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n gap: spacing-get(xs);\n padding-inline: spacing-get(xs);\n border-radius: radius-get(md);\n height: 1.5rem;\n min-width: 2.5rem;\n -webkit-user-select: none;\n user-select: none;\n transition: all 125ms ease-in-out;\n color: var(--je-pill-color);\n background-color: var(--je-pill-background);\n\n --je-pill-color: #{primary()};\n --je-pill-background: #{primary(100)};\n --je-pill-hover-background: #{primary(200)};\n}\n\n:host([role=button]) {\n cursor: pointer;\n}\n\n:host([role=button][disabled]) {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n:host([role=button]:not([disabled]):hover) {\n @media (hover: hover) {\n --je-pill-background: var(--je-pill-hover-background);\n }\n}\n\n:host([outline]) {\n background-color: transparent;\n color: var(--je-pill-color);\n border: solid 1px var(--je-pill-background);\n}\n","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"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"je-pill.entry.cjs.js","sources":["src/components/je-pill/je-pill.scss?tag=je-pill&encapsulation=shadow","src/components/je-pill/je-pill.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n gap: var(--je-spacing-2xs);\n padding-inline: 4px;\n border-radius: var(--je-border-radius, 2px);\n height: 20px;\n min-width: 40px;\n -webkit-user-select: none;\n user-select: none;\n transition: all 125ms ease-in-out;\n color: var(--je-pill-color);\n background-color: var(--je-pill-background);\n\n --je-pill-color: var(--je-primary-500, buttonface);\n --je-pill-background: var(--je-primary-100, buttontext);\n --je-pill-hover-background: var(--je-primary-200, buttontext);\n}\n\n:host(:not([button=false])) {\n cursor: pointer;\n ::slotted(je-icon) {\n cursor: pointer;\n }\n}\n\n:host(:not([button=false]):not([disabled]):hover) {\n @media (hover: hover) {\n --je-pill-background: var(--je-pill-hover-background);\n }\n}\n\n:host([disabled]) {\n opacity: 0.8;\n cursor: default;\n}\n\n:host([outline]) {\n background-color: transparent;\n color: var(--je-pill-color);\n border: solid 1px var(--je-pill-background);\n}\n","import { Component, Host, 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 @Prop({ reflect: true }) outline = false;\n @Prop({ reflect: true }) button = true;\n @Prop({ reflect: true }) disabled = false;\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,84BAA84B;;MCOn5B,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAM2B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI;AACb,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAS1C;IAPC,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;"}
1
+ {"version":3,"file":"je-pill.entry.cjs.js","sources":["src/components/je-pill/je-pill.scss?tag=je-pill&encapsulation=shadow","src/components/je-pill/je-pill.tsx"],"sourcesContent":["@use '../../styles/styles' as *;\n\n:host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n gap: spacing-get(xs);\n padding-inline: spacing-get(xs);\n border-radius: radius-get(md);\n height: 1.5rem;\n min-width: 2.5rem;\n -webkit-user-select: none;\n user-select: none;\n transition: all 125ms ease-in-out;\n color: var(--je-pill-color);\n background-color: var(--je-pill-background);\n\n --je-pill-color: #{primary()};\n --je-pill-background: #{primary(100)};\n --je-pill-hover-background: #{primary(200)};\n}\n\n:host([role=button]) {\n cursor: pointer;\n}\n\n:host([role=button][disabled]) {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n:host([role=button]:not([disabled]):hover) {\n @media (hover: hover) {\n --je-pill-background: var(--je-pill-hover-background);\n }\n}\n\n:host([outline]) {\n background-color: transparent;\n color: var(--je-pill-color);\n border: solid 1px var(--je-pill-background);\n}\n","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"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,y6BAAy6B;;MCO96B,MAAM,GAAA,MAAA;AALnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAO2B,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAgBzC;AAbC,IAAA,OAAO,CAAC,EAAiB,EAAA;QACvB,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,QAAQ,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE;AACpE,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;;;IAInB,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;"}
@@ -18,7 +18,7 @@ const debounceEvent = (event, wait) => {
18
18
  };
19
19
  };
20
20
 
21
- const jeTextfieldCss = ":host{display:flex;flex-direction:column;gap:var(--je-spacing-3xs, 0.125rem)}:host(:focus) div[part=container]{border-color:light-dark(var(--je-primary, #4141e8), color-mix(in srgb, var(--je-primary, #4141e8) 40%, white 60%))}:host(:state(--user-invalid)) div[part=container]{border-color:light-dark(color-mix(in srgb, var(--je-danger, #ae1818) 80%, white 20%), color-mix(in srgb, var(--je-danger, #ae1818) 60%, white 40%))}je-note{margin-left:var(--je-spacing-xs, 0.5rem)}div[part=container]{position:relative;box-sizing:border-box;display:flex;gap:var(--je-spacing-xs, 0.5rem);border-radius:var(--je-radius-md, 0.375rem);border:solid 1px light-dark(var(--je-secondary, #99becb), color-mix(in srgb, var(--je-secondary, #99becb) 80%, white 20%));align-items:center;background-color:light-dark(color-mix(in srgb, var(--je-primary, #4141e8) 5%, white 95%), color-mix(in srgb, var(--je-primary, #4141e8) 5%, black 95%));color:light-dark(color-mix(in srgb, var(--je-secondary, #99becb) 20%, black 80%), color-mix(in srgb, var(--je-secondary, #99becb) 10%, white 90%));padding-inline:var(--je-spacing-xs, 0.5rem)}div[part=container].sm{height:2.5rem}div[part=container].md{height:3rem}div[part=container].lg{height:3.5rem}div[part=container].disabled{opacity:0.6;cursor:not-allowed}input,textarea{background-color:inherit;color:inherit;font-family:inherit;flex:1;min-width:0;outline:0;border:0;margin:0;padding:0;font-size:var(--je-font-md, 1rem);font-weight:var(--je-font-light, 400);color:light-dark(color-mix(in srgb, var(--je-secondary, #99becb) 10%, black 90%), color-mix(in srgb, var(--je-secondary, #99becb) 10%, white 90%))}input::placeholder,textarea::placeholder{font-family:inherit;color:light-dark(color-mix(in srgb, var(--je-secondary, #99becb) 50%, black 50%), color-mix(in srgb, var(--je-secondary, #99becb) 70%, black 30%));font-size:var(--je-font-md, 1rem);font-weight:var(--je-font-light, 400)}input[type=password]::-ms-reveal,input[type=password]::-ms-clear,textarea[type=password]::-ms-reveal,textarea[type=password]::-ms-clear{display:none !important}";
21
+ const jeTextfieldCss = ":host{display:flex;flex-direction:column;gap:var(--je-spacing-3xs, 0.125rem)}:host(:focus) div[part=container]{border-color:light-dark(var(--je-primary, #4141e8), color-mix(in srgb, var(--je-primary, #4141e8) 40%, white 60%))}:host(:state(--user-invalid)) div[part=container]{border-color:light-dark(color-mix(in srgb, var(--je-danger, #ae1818) 80%, white 20%), color-mix(in srgb, var(--je-danger, #ae1818) 60%, white 40%))}je-note{margin-left:var(--je-spacing-xs, 0.5rem)}div[part=container]{position:relative;box-sizing:border-box;display:flex;gap:var(--je-spacing-xs, 0.5rem);border-radius:var(--je-radius-md, 0.375rem);border:solid 1px light-dark(var(--je-secondary, #99becb), color-mix(in srgb, var(--je-secondary, #99becb) 80%, white 20%));align-items:center;background-color:light-dark(color-mix(in srgb, var(--je-primary, #4141e8) 5%, white 95%), color-mix(in srgb, var(--je-primary, #4141e8) 5%, black 95%));color:light-dark(color-mix(in srgb, var(--je-secondary, #99becb) 20%, black 80%), color-mix(in srgb, var(--je-secondary, #99becb) 10%, white 90%));padding-inline:var(--je-spacing-xs, 0.5rem)}div[part=container].sm{height:2.5rem}div[part=container].sm textarea{height:6rem}div[part=container].md{height:3rem}div[part=container].md textarea{height:8rem}div[part=container].lg{height:3.5rem}div[part=container].lg textarea{height:10rem}div[part=container].multiline{align-items:baseline;height:fit-content}div[part=container].disabled{opacity:0.6;cursor:not-allowed}input,textarea{background-color:inherit;color:inherit;font-family:inherit;box-shadow:none;flex:1;min-width:0;box-sizing:border-box;outline:0;border:0;margin:0;padding:0;font-size:var(--je-font-md, 1rem);font-weight:var(--je-font-light, 400);color:light-dark(color-mix(in srgb, var(--je-secondary, #99becb) 10%, black 90%), color-mix(in srgb, var(--je-secondary, #99becb) 10%, white 90%))}input::placeholder,textarea::placeholder{font-family:inherit;color:light-dark(color-mix(in srgb, var(--je-secondary, #99becb) 50%, black 50%), color-mix(in srgb, var(--je-secondary, #99becb) 70%, black 30%));font-size:var(--je-font-md, 1rem);font-weight:var(--je-font-light, 400)}input[type=password]::-ms-reveal,input[type=password]::-ms-clear,textarea[type=password]::-ms-reveal,textarea[type=password]::-ms-clear{display:none !important}input.suppress::-webkit-calendar-picker-indicator,textarea.suppress::-webkit-calendar-picker-indicator{display:none}textarea{resize:none}";
22
22
 
23
23
  const JeTextfield = class {
24
24
  constructor(hostRef) {
@@ -74,6 +74,10 @@ const JeTextfield = class {
74
74
  * Optional debounce of the didInput event
75
75
  */
76
76
  this.debounce = 0;
77
+ /**
78
+ * Whether to suppress the default behavior of the input event
79
+ */
80
+ this.suppressDefaultBehavior = false;
77
81
  /**
78
82
  * Whether the control is a multiline textarea
79
83
  */
@@ -120,6 +124,7 @@ const JeTextfield = class {
120
124
  if (input) {
121
125
  const transformer = this.getTransformer();
122
126
  this.value = (transformer === null || transformer === void 0 ? void 0 : transformer.to) ? transformer.to(input.value) : input.value;
127
+ this.valueChange.emit(this.value);
123
128
  }
124
129
  };
125
130
  this.onFocus = () => {
@@ -128,6 +133,10 @@ const JeTextfield = class {
128
133
  else
129
134
  this.touched = true;
130
135
  };
136
+ this.suppress = (ev) => {
137
+ if (this.suppressDefaultBehavior)
138
+ ev.preventDefault();
139
+ };
131
140
  }
132
141
  /**
133
142
  * Shows an error icon in the end slot when true. If a string is passed in, it will render the icon as a tooltip.
@@ -210,10 +219,10 @@ const JeTextfield = class {
210
219
  formResetCallback() {
211
220
  this.touched = false;
212
221
  this.value = this.originalValue;
222
+ this.valueChange.emit(this.value);
213
223
  }
214
224
  handleValueChange() {
215
225
  this.internals.setFormValue(this.value || null);
216
- this.valueChange.emit(this.value);
217
226
  }
218
227
  async getInputElement() {
219
228
  return this.inputEl;
@@ -255,7 +264,7 @@ const JeTextfield = class {
255
264
  }
256
265
  render() {
257
266
  const transformer = this.getTransformer();
258
- return (index.h(index.Host, { key: 'e915a37a76122280cee8da35b550d02e9c9d683e' }, index.h("div", { key: 'c18271cadd20d74433b7c24be91665dafa7a66bd', part: "container", class: { [this.size]: true, disabled: this.disabled, multiline: this.multiline } }, index.h("slot", { key: '0caa8875e650a1a3ce8c49df57ffea4888d2f557', name: "start" }), index.h("slot", { key: 'a1828ab2bf143cf9c1c72bc22c23a06732b63077', name: 'label' }, this.label && index.h("je-label", { key: 'c864e7fac1744d2ecb94319725b03f96497b760f', part: 'label', required: this.required }, this.label)), this.multiline ? (index.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 })) : (index.h("input", { part: 'input', tabindex: 0, ref: el => (this.inputEl = el), onInputCapture: this.formatInput, onInput: this.handleInput, 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' && (index.h("je-icon-button", { key: '49e207840f34d5f5209c6aaf5cbd9b89031cd996', size: "sm", icon: this.showPassword ? 'visibility_off' : 'visibility', onClick: () => (this.showPassword = !this.showPassword) })), index.h("slot", { key: '1b1120d947f0b2533bda4e9dcb0c8f62c4d65eb7', name: "end" }), this.pending && index.h("je-loading", { key: '49076313553802f11de04229fc0cd49ad081add0' }), this.success && index.h("je-color", { key: 'e375dcc72f93967d8ac1c7658ba6ac380e0721ad', color: "success" }, index.h("je-icon", { key: '0eca75698695c4c93e41d088724de99b06e3d3ee', fill: true, size: "sm" }, "check_circle")), this.error && typeof this.error === 'string' ? (index.h("je-tooltip", null, index.h("je-color", { color: "danger" }, index.h("je-icon", { fill: true, size: "sm" }, "error")), index.h("div", { slot: "content" }, this.error))) : this.error ? (index.h("je-color", { color: "danger" }, index.h("je-icon", { fill: true, size: "sm" }, "error"))) : null), index.h("slot", { key: '677a608f2f5017598ef8eb4bd14f1aedfb45073b', name: 'note' }, this.invalid && this.touched ? (index.h("je-note", { part: 'note', invalid: true }, this.internals.validationMessage)) : this.note ? (index.h("je-note", { part: 'note' }, this.note)) : null)));
267
+ return (index.h(index.Host, { key: 'a52d3a7bd3e5e0c4e6c859a72f48f893fb866bab' }, index.h("div", { key: 'c27748e651021af13d1ae02d13ff9c9cdca446f5', part: "container", class: { [this.size]: true, disabled: this.disabled, multiline: this.multiline } }, index.h("slot", { key: '6548366035abda07c31d9706bc1769e0bc5930d6', name: "start" }), index.h("slot", { key: '4d2d4f82ede98bb949dd6332fd41e51cce2910b8', name: 'label' }, this.label && index.h("je-label", { key: '7f73f66c833a4a998446d61bb3b169f8382da4c9', part: 'label', required: this.required }, this.label)), this.multiline ? (index.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 })) : (index.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' && (index.h("je-icon-button", { key: '86ac59f2f95280f02dc8613b95f94e4058ec3eb6', size: "sm", icon: this.showPassword ? 'visibility_off' : 'visibility', onClick: () => (this.showPassword = !this.showPassword) })), index.h("slot", { key: 'dc85d54775294f0f4959bea0b2bde250ac5b3fe9', name: "end" }), this.pending && index.h("je-loading", { key: '35d31a52673fee756bb81005ba20d625e1af0384' }), this.success && index.h("je-color", { key: 'f7cb7c4b7ef2f80749035dc92253d966d7264cc0', color: "success" }, index.h("je-icon", { key: '5a96015088e709dfe9cbe4456483007b136c9c10', fill: true, size: "sm" }, "check_circle")), this.error && typeof this.error === 'string' ? (index.h("je-tooltip", null, index.h("je-color", { color: "danger" }, index.h("je-icon", { fill: true, size: "sm" }, "error")), index.h("div", { slot: "content" }, this.error))) : this.error ? (index.h("je-color", { color: "danger" }, index.h("je-icon", { fill: true, size: "sm" }, "error"))) : null), index.h("slot", { key: 'db5b8163b06878b5a9cdf9d8884ffe2a0badedf6', name: 'note' }, this.invalid && this.touched ? (index.h("je-note", { part: 'note', invalid: true }, this.internals.validationMessage)) : this.note ? (index.h("je-note", { part: 'note' }, this.note)) : null)));
259
268
  }
260
269
  static get delegatesFocus() { return true; }
261
270
  static get formAssociated() { return true; }
@@ -1 +1 @@
1
- {"file":"je-textfield.entry.cjs.js","mappings":"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","names":["parseISO","format","forceUpdate","h","Host"],"sources":["src/utils/functions/debounce-event.ts","src/components/je-textfield/je-textfield.scss?tag=je-textfield&encapsulation=shadow","src/components/je-textfield/je-textfield.tsx"],"sourcesContent":["import { EventEmitter } from \"@stencil/core\";\n\nconst debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const debounceEvent = (event: EventEmitter, wait: number) => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n","@use '../../styles/styles' as *;\n\n:host {\n display: flex;\n flex-direction: column;\n gap: spacing-get(3xs);\n}\n\n:host(:focus) div[part=container] {\n border-color: light-dark(primary(500), primary(200));\n}\n\n:host(:state(--user-invalid)) div[part=container] {\n border-color: light-dark(danger(400), danger(300));\n}\n\nje-note {\n margin-left: spacing-get(xs);\n}\n\ndiv[part=container] {\n position: relative;\n box-sizing: border-box;\n display: flex;\n gap: spacing-get(xs);\n border-radius: radius-get(md);\n border: solid 1px light-dark(secondary(), secondary(400));\n align-items: center;\n background-color: light-dark(primary(25), primary(975));\n color: light-dark(secondary(900), secondary(50));\n padding-inline: spacing-get(xs);\n &.sm {\n height: 2.5rem;\n }\n &.md {\n height: 3rem;\n }\n &.lg {\n height: 3.5rem;\n }\n &.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n}\n\ninput,\ntextarea {\n background-color: inherit;\n color: inherit;\n font-family: inherit;\n flex: 1;\n min-width: 0;\n outline: 0;\n border: 0;\n margin: 0;\n padding: 0;\n font-size: font-size(md);\n font-weight: font-weight(light);\n color: light-dark(secondary(950), secondary(50));\n\n &::placeholder {\n font-family: inherit;\n color: light-dark(secondary(750), secondary(650));\n font-size: font-size(md);\n font-weight: font-weight(light);\n }\n\n &[type=password]::-ms-reveal,\n &[type=password]::-ms-clear {\n display: none !important;\n }\n}\n","import { Component, Host, Prop, h, Element, State, Event, EventEmitter, AttachInternals, forceUpdate, Method, Listen, Watch } from '@stencil/core';\nimport { format, parseISO } from 'date-fns';\nimport { debounceEvent } from '../../utils/utils';\n\nexport type InputTransformer<T = any> = {\n to?: (value: string) => T;\n from?: (value: T) => string;\n}\n\nexport type FormatterFn = (newValue: string, oldValue?: string, ev?: InputEvent) => string | Promise<string>;\n\nexport type ValidationFn = (value: string) => string[] | Promise<string[]>;\n\n@Component({\n tag: 'je-textfield',\n styleUrl: 'je-textfield.scss',\n shadow: {\n delegatesFocus: true\n },\n formAssociated: true\n})\nexport class JeTextfield {\n private inputEl!: HTMLInputElement | HTMLTextAreaElement;\n private invalid = false;\n //private containerEl!: HTMLElement;\n\n @Element() hostEl!: HTMLJeTextfieldElement;\n @AttachInternals() internals: ElementInternals;\n @State() touched = false;\n @State() showPassword = false;\n\n /**\n * The default value the control will reset to in a form.\n * If not set, will default to the inital value of the \"value\" property.\n */\n @Prop({ mutable: true }) originalValue?: string;\n\n /**\n * Text above the control\n */\n @Prop() label?: string;\n\n /**\n * Renders input as disabled and prevents changes\n */\n @Prop() disabled = false;\n\n /**\n * Passed to native input\n */\n @Prop() autoCapitalize = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoComplete = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoCorrect: 'off' | 'on' = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoFocus?: boolean;\n\n /**\n * Passed to native input\n */\n @Prop() inputMode: string;\n\n /**\n * Passed to native input\n */\n @Prop() min?: any;\n\n /**\n * Passed to native input\n */\n @Prop() max?: any;\n\n /**\n * Passed to native input\n */\n @Prop() minlength?: number;\n\n /**\n * Passed to native input\n */\n @Prop() maxlength?: number;\n\n /**\n * Passed to native textarea\n */\n @Prop() wrap?: string;\n\n /**\n * Passed to native input\n */\n @Prop() pattern?: string;\n\n /**\n * Renders input as read only and prevents changes\n */\n @Prop() readonly = false;\n\n /**\n * Marks as required in form and adds asterisk to the end of the label\n */\n @Prop() required = false;\n\n /**\n * Passed to native input\n */\n @Prop() spellcheck = false;\n\n /**\n * Passed to native input\n */\n @Prop() step?: string;\n\n /**\n * Container size\n */\n @Prop() size: 'md' | 'lg' | 'sm' = 'md';\n\n /**\n * Passed to native input\n */\n @Prop({ mutable: true }) type = 'text';\n\n /**\n * Current value of the input\n */\n @Prop({ mutable: true }) value: any;\n\n /**\n * Input placeholder text\n */\n @Prop() placeholder?: string;\n\n /**\n * Optional debounce of the didInput event\n */\n @Prop() debounce = 0;\n\n /**\n * Formatters functions that are applied as the user types\n */\n @Prop() format?: FormatterFn;\n\n /**\n * Validator functions for form participation\n */\n @Prop() validators?: ValidationFn[];\n\n /**\n * Informational message directly below the control\n */\n @Prop() note?: string;\n\n /**\n * Transforms the value before it is passed to the input (from) and after the input emits a new value (to).\n *\n * There are built-in transformers for 'number', 'date', and 'datetime'.\n */\n @Prop() transform?: InputTransformer | 'number' | 'date' | 'datetime';\n\n /**\n * Whether the control is a multiline textarea\n */\n @Prop() multiline = false;\n\n /**\n * Shows a loading indicator in the end slot when true\n */\n @Prop() pending = false;\n\n private internalErrorProp?: boolean | string;\n /**\n * Shows an error icon in the end slot when true. If a string is passed in, it will render the icon as a tooltip.\n * Has no effect on form validation\n */\n @Prop() get error() {\n return this.internalErrorProp;\n }\n set error(value: any) {\n if (value === 'true' || value === '') {\n this.internalErrorProp = true;\n } else if (value === 'false') {\n this.internalErrorProp = false;\n } else {\n this.internalErrorProp = value;\n }\n }\n\n /**\n * Shows a success icon in the end slot when true. Has no effect on form validation\n */\n @Prop() success = false;\n\n /**\n * Emits as the user types\n */\n @Event({ bubbles: false }) valueChange: EventEmitter<any>;\n\n componentWillLoad() {\n if (!this.originalValue) this.originalValue = this.value;\n if (this.debounce) this.valueChange = debounceEvent(this.valueChange, this.debounce);\n }\n\n componentDidLoad() {\n this.internals.role = 'textbox';\n if (this.value) this.internals.setFormValue(this.value);\n }\n\n async componentWillRender() {\n const { hasError, minLengthError, maxLengthError, requiredError, patternError, customErrors } = await this.getErrors();\n this.invalid = hasError;\n if (hasError) {\n const errorMessage = requiredError\n ? 'This field is required'\n : minLengthError\n ? `This field must be at least ${this.minlength} characters long`\n : maxLengthError\n ? `This field must be less than ${this.maxlength} characters long`\n : patternError\n ? `Invalid pattern`\n : customErrors[0];\n this.internals.setValidity(\n {\n valueMissing: requiredError,\n tooShort: minLengthError,\n tooLong: maxLengthError,\n patternMismatch: patternError,\n customError: customErrors.length > 0,\n },\n errorMessage,\n );\n if (this.touched) {\n this.internals.reportValidity();\n }\n } else {\n this.internals.setValidity({});\n }\n }\n\n componentDidRender() {\n this.internals.ariaLabel = this.label || this.hostEl.querySelector('[slot=label]')?.textContent\n this.internals.ariaDescription = this.note || this.hostEl.querySelector('[slot=note]')?.textContent\n this.internals.ariaInvalid = this.internals.validity.valid ? 'true' : 'false'\n this.internals.ariaRequired = this.required ? 'true' : 'false'\n this.internals.ariaDisabled = this.disabled ? 'true' : 'false'\n this.internals.ariaReadOnly = this.readonly ? 'true' : 'false'\n this.internals.ariaMultiLine = this.multiline ? 'true' : 'false'\n this.internals.ariaPlaceholder = this.placeholder || this.hostEl.querySelector('[slot=placeholder]')?.textContent\n this.internals.ariaAutoComplete = this.autoComplete\n\n this.internals.states.clear()\n this.internals.states.add(this.invalid ? '--invalid' : '--valid');\n if (this.touched) this.internals.states.add(this.invalid ? '--user-invalid' : '--user-valid')\n this.internals.states.add(this.required ? '--required' : '--optional')\n this.internals.states.add(this.disabled ? '--disabled' : '--enabled')\n this.internals.states.add(this.readonly ? '--readonly' : '--readwrite')\n this.internals.states.add(this.multiline ? '--multiline' : '--singleline')\n this.internals.states.add(this.value ? '--filled' : '--empty')\n }\n\n formResetCallback() {\n this.touched = false;\n this.value = this.originalValue;\n }\n\n @Watch('value')\n handleValueChange() {\n this.internals.setFormValue(this.value || null);\n this.valueChange.emit(this.value);\n }\n\n @Method()\n async getInputElement() {\n return this.inputEl;\n }\n\n @Method()\n async markAsTouched() {\n this.touched = true;\n }\n\n @Method()\n async getErrors() {\n const requiredError = this.required && (this.value ?? '') === '';\n const minLengthError = this.minlength && (this.value ?? '').length < this.minlength;\n const maxLengthError = this.maxlength && (this.value ?? '').length > this.maxlength;\n const patternError = this.pattern && !new RegExp(this.pattern).test(this.value ?? '');\n let customErrors: string[] = [];\n if (this.validators) {\n for (const validator of this.validators) {\n const res = await validator(this.value);\n customErrors = [...customErrors, ...res];\n }\n }\n return {\n requiredError,\n minLengthError,\n maxLengthError,\n patternError,\n customErrors,\n hasError: requiredError || minLengthError || maxLengthError || patternError || customErrors.length > 0,\n };\n }\n\n @Method()\n async isTouched() {\n return this.touched;\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (this.multiline && ev.key === 'Enter' && ev.shiftKey)\n ev.stopPropagation()\n }\n\n @Listen('invalid')\n handleInvalid(ev: Event) {\n ev.preventDefault();\n }\n\n private getTransformer = () => {\n if (this.transform === 'number') {\n return {\n to: (value: string) => parseFloat(value),\n from: (value: number) => value.toString(),\n };\n } else if (this.transform === 'date') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, 'yyyy-MM-dd') : value),\n };\n } else if (this.transform === 'datetime') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, \"yyyy-MM-dd'T'HH:mm:ss\") : value),\n };\n } else {\n return this.transform;\n }\n };\n\n private formatInput = async (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input && this.format) {\n input.value = await this.format(input.value, this.value, ev);\n }\n };\n\n private handleInput = (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n const transformer = this.getTransformer();\n this.value = transformer?.to ? transformer.to(input.value) : input.value;\n }\n };\n\n private onFocus = () => {\n if (this.touched) forceUpdate(this.hostEl);\n else this.touched = true;\n }\n\n render() {\n const transformer = this.getTransformer();\n return (\n <Host>\n <div part=\"container\" class={{ [this.size]: true, disabled: this.disabled, multiline: this.multiline }}>\n <slot name=\"start\" />\n\n <slot name='label'>\n {this.label && <je-label part='label' required={this.required}>{this.label}</je-label>}\n </slot>\n\n {this.multiline ? (\n <textarea\n part=\"textarea\"\n tabindex={0}\n ref={el => (this.inputEl = el)}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onFocus={this.onFocus}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n disabled={this.disabled}\n maxLength={this.maxlength}\n minLength={this.minlength}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n />\n ) : (\n <input\n part='input'\n tabindex={0}\n ref={el => (this.inputEl = el)}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onFocus={this.onFocus}\n disabled={this.disabled}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n inputMode={this.inputMode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n pattern={this.pattern}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n type={this.type == 'password' && this.showPassword ? 'text' : this.type}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n placeholder={this.placeholder}\n />\n )}\n\n {this.type === 'password' && (\n <je-icon-button size=\"sm\" icon={this.showPassword ? 'visibility_off' : 'visibility'} onClick={() => (this.showPassword = !this.showPassword)} />\n )}\n\n <slot name=\"end\" />\n\n {this.pending && <je-loading/>}\n {this.success && <je-color color=\"success\"><je-icon fill size=\"sm\">check_circle</je-icon></je-color>}\n {this.error && typeof this.error === 'string' ? (\n <je-tooltip>\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n <div slot=\"content\">{this.error}</div>\n </je-tooltip>\n ) : this.error ? (\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n ) : null}\n </div>\n\n <slot name='note'>\n {this.invalid && this.touched ? (\n <je-note part='note' invalid>{this.internals.validationMessage}</je-note>\n ) : this.note ? (\n <je-note part='note'>{this.note}</je-note>\n ) : null}\n </slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"je-textfield.entry.cjs.js","mappings":"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","names":["parseISO","format","forceUpdate","h","Host"],"sources":["src/utils/functions/debounce-event.ts","src/components/je-textfield/je-textfield.scss?tag=je-textfield&encapsulation=shadow","src/components/je-textfield/je-textfield.tsx"],"sourcesContent":["import { EventEmitter } from \"@stencil/core\";\n\nconst debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const debounceEvent = (event: EventEmitter, wait: number) => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n","@use '../../styles/styles' as *;\n\n:host {\n display: flex;\n flex-direction: column;\n gap: spacing-get(3xs);\n}\n\n:host(:focus) div[part=container] {\n border-color: light-dark(primary(500), primary(200));\n}\n\n:host(:state(--user-invalid)) div[part=container] {\n border-color: light-dark(danger(400), danger(300));\n}\n\nje-note {\n margin-left: spacing-get(xs);\n}\n\ndiv[part=container] {\n position: relative;\n box-sizing: border-box;\n display: flex;\n gap: spacing-get(xs);\n border-radius: radius-get(md);\n border: solid 1px light-dark(secondary(), secondary(400));\n align-items: center;\n background-color: light-dark(primary(25), primary(975));\n color: light-dark(secondary(900), secondary(50));\n padding-inline: spacing-get(xs);\n &.sm {\n height: 2.5rem;\n textarea {\n height: 6rem;\n }\n }\n &.md {\n height: 3rem;\n textarea {\n height: 8rem;\n }\n }\n &.lg {\n height: 3.5rem;\n textarea {\n height: 10rem;\n }\n }\n &.multiline {\n align-items: baseline;\n height: fit-content;\n }\n &.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n}\n\ninput,\ntextarea {\n background-color: inherit;\n color: inherit;\n font-family: inherit;\n box-shadow: none;\n flex: 1;\n min-width: 0;\n box-sizing: border-box;\n outline: 0;\n border: 0;\n margin: 0;\n padding: 0;\n font-size: font-size(md);\n font-weight: font-weight(light);\n color: light-dark(secondary(950), secondary(50));\n\n &::placeholder {\n font-family: inherit;\n color: light-dark(secondary(750), secondary(650));\n font-size: font-size(md);\n font-weight: font-weight(light);\n }\n\n &[type=password]::-ms-reveal,\n &[type=password]::-ms-clear {\n display: none !important;\n }\n\n &.suppress::-webkit-calendar-picker-indicator {\n display: none;\n }\n}\n\ntextarea {\n resize: none;\n}\n","import { Component, Host, Prop, h, Element, State, Event, EventEmitter, AttachInternals, forceUpdate, Method, Listen, Watch } from '@stencil/core';\nimport { format, parseISO } from 'date-fns';\nimport { debounceEvent } from '../../utils/utils';\n\nexport type InputTransformer<T = any> = {\n to?: (value: string) => T;\n from?: (value: T) => string;\n}\n\nexport type FormatterFn = (newValue: string, oldValue?: string, ev?: InputEvent) => string | Promise<string>;\n\nexport type ValidationFn = (value: string) => string[] | Promise<string[]>;\n\n@Component({\n tag: 'je-textfield',\n styleUrl: 'je-textfield.scss',\n shadow: {\n delegatesFocus: true\n },\n formAssociated: true\n})\nexport class JeTextfield {\n private inputEl!: HTMLInputElement | HTMLTextAreaElement;\n private invalid = false;\n //private containerEl!: HTMLElement;\n\n @Element() hostEl!: HTMLJeTextfieldElement;\n @AttachInternals() internals: ElementInternals;\n @State() touched = false;\n @State() showPassword = false;\n\n /**\n * The default value the control will reset to in a form.\n * If not set, will default to the inital value of the \"value\" property.\n */\n @Prop({ mutable: true }) originalValue?: string;\n\n /**\n * Text above the control\n */\n @Prop() label?: string;\n\n /**\n * Renders input as disabled and prevents changes\n */\n @Prop() disabled = false;\n\n /**\n * Passed to native input\n */\n @Prop() autoCapitalize = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoComplete = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoCorrect: 'off' | 'on' = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoFocus?: boolean;\n\n /**\n * Passed to native input\n */\n @Prop() inputMode: string;\n\n /**\n * Passed to native input\n */\n @Prop() min?: any;\n\n /**\n * Passed to native input\n */\n @Prop() max?: any;\n\n /**\n * Passed to native input\n */\n @Prop() minlength?: number;\n\n /**\n * Passed to native input\n */\n @Prop() maxlength?: number;\n\n /**\n * Passed to native textarea\n */\n @Prop() wrap?: string;\n\n /**\n * Passed to native input\n */\n @Prop() pattern?: string;\n\n /**\n * Renders input as read only and prevents changes\n */\n @Prop() readonly = false;\n\n /**\n * Marks as required in form and adds asterisk to the end of the label\n */\n @Prop() required = false;\n\n /**\n * Passed to native input\n */\n @Prop() spellcheck = false;\n\n /**\n * Passed to native input\n */\n @Prop() step?: string;\n\n /**\n * Container size\n */\n @Prop() size: 'md' | 'lg' | 'sm' = 'md';\n\n /**\n * Passed to native input\n */\n @Prop({ mutable: true }) type = 'text';\n\n /**\n * Current value of the input\n */\n @Prop({ mutable: true }) value: any;\n\n /**\n * Input placeholder text\n */\n @Prop() placeholder?: string;\n\n /**\n * Optional debounce of the didInput event\n */\n @Prop() debounce = 0;\n\n /**\n * Formatters functions that are applied as the user types\n */\n @Prop() format?: FormatterFn;\n\n /**\n * Validator functions for form participation\n */\n @Prop() validators?: ValidationFn[];\n\n /**\n * Informational message directly below the control\n */\n @Prop() note?: string;\n\n /**\n * Whether to suppress the default behavior of the input event\n */\n @Prop() suppressDefaultBehavior = false\n\n /**\n * Transforms the value before it is passed to the input (from) and after the input emits a new value (to).\n *\n * There are built-in transformers for 'number', 'date', and 'datetime'.\n */\n @Prop() transform?: InputTransformer | 'number' | 'date' | 'datetime';\n\n /**\n * Whether the control is a multiline textarea\n */\n @Prop() multiline = false;\n\n /**\n * Shows a loading indicator in the end slot when true\n */\n @Prop() pending = false;\n\n private internalErrorProp?: boolean | string;\n /**\n * Shows an error icon in the end slot when true. If a string is passed in, it will render the icon as a tooltip.\n * Has no effect on form validation\n */\n @Prop() get error() {\n return this.internalErrorProp;\n }\n set error(value: any) {\n if (value === 'true' || value === '') {\n this.internalErrorProp = true;\n } else if (value === 'false') {\n this.internalErrorProp = false;\n } else {\n this.internalErrorProp = value;\n }\n }\n\n /**\n * Shows a success icon in the end slot when true. Has no effect on form validation\n */\n @Prop() success = false;\n\n /**\n * Emits as the user types\n */\n @Event({ bubbles: false }) valueChange: EventEmitter<any>;\n\n componentWillLoad() {\n if (!this.originalValue) this.originalValue = this.value;\n if (this.debounce) this.valueChange = debounceEvent(this.valueChange, this.debounce);\n }\n\n componentDidLoad() {\n this.internals.role = 'textbox';\n if (this.value) this.internals.setFormValue(this.value);\n }\n\n async componentWillRender() {\n const { hasError, minLengthError, maxLengthError, requiredError, patternError, customErrors } = await this.getErrors();\n this.invalid = hasError;\n if (hasError) {\n const errorMessage = requiredError\n ? 'This field is required'\n : minLengthError\n ? `This field must be at least ${this.minlength} characters long`\n : maxLengthError\n ? `This field must be less than ${this.maxlength} characters long`\n : patternError\n ? `Invalid pattern`\n : customErrors[0];\n this.internals.setValidity(\n {\n valueMissing: requiredError,\n tooShort: minLengthError,\n tooLong: maxLengthError,\n patternMismatch: patternError,\n customError: customErrors.length > 0,\n },\n errorMessage,\n );\n if (this.touched) {\n this.internals.reportValidity();\n }\n } else {\n this.internals.setValidity({});\n }\n }\n\n componentDidRender() {\n this.internals.ariaLabel = this.label || this.hostEl.querySelector('[slot=label]')?.textContent\n this.internals.ariaDescription = this.note || this.hostEl.querySelector('[slot=note]')?.textContent\n this.internals.ariaInvalid = this.internals.validity.valid ? 'true' : 'false'\n this.internals.ariaRequired = this.required ? 'true' : 'false'\n this.internals.ariaDisabled = this.disabled ? 'true' : 'false'\n this.internals.ariaReadOnly = this.readonly ? 'true' : 'false'\n this.internals.ariaMultiLine = this.multiline ? 'true' : 'false'\n this.internals.ariaPlaceholder = this.placeholder || this.hostEl.querySelector('[slot=placeholder]')?.textContent\n this.internals.ariaAutoComplete = this.autoComplete\n\n this.internals.states.clear()\n this.internals.states.add(this.invalid ? '--invalid' : '--valid');\n if (this.touched) this.internals.states.add(this.invalid ? '--user-invalid' : '--user-valid')\n this.internals.states.add(this.required ? '--required' : '--optional')\n this.internals.states.add(this.disabled ? '--disabled' : '--enabled')\n this.internals.states.add(this.readonly ? '--readonly' : '--readwrite')\n this.internals.states.add(this.multiline ? '--multiline' : '--singleline')\n this.internals.states.add(this.value ? '--filled' : '--empty')\n }\n\n formResetCallback() {\n this.touched = false;\n this.value = this.originalValue;\n this.valueChange.emit(this.value);\n }\n\n @Watch('value')\n handleValueChange() {\n this.internals.setFormValue(this.value || null);\n }\n\n @Method()\n async getInputElement() {\n return this.inputEl;\n }\n\n @Method()\n async markAsTouched() {\n this.touched = true;\n }\n\n @Method()\n async getErrors() {\n const requiredError = this.required && (this.value ?? '') === '';\n const minLengthError = this.minlength && (this.value ?? '').length < this.minlength;\n const maxLengthError = this.maxlength && (this.value ?? '').length > this.maxlength;\n const patternError = this.pattern && !new RegExp(this.pattern).test(this.value ?? '');\n let customErrors: string[] = [];\n if (this.validators) {\n for (const validator of this.validators) {\n const res = await validator(this.value);\n customErrors = [...customErrors, ...res];\n }\n }\n return {\n requiredError,\n minLengthError,\n maxLengthError,\n patternError,\n customErrors,\n hasError: requiredError || minLengthError || maxLengthError || patternError || customErrors.length > 0,\n };\n }\n\n @Method()\n async isTouched() {\n return this.touched;\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (this.multiline && ev.key === 'Enter' && ev.shiftKey)\n ev.stopPropagation()\n }\n\n @Listen('invalid')\n handleInvalid(ev: Event) {\n ev.preventDefault();\n }\n\n private getTransformer = () => {\n if (this.transform === 'number') {\n return {\n to: (value: string) => parseFloat(value),\n from: (value: number) => value.toString(),\n };\n } else if (this.transform === 'date') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, 'yyyy-MM-dd') : value),\n };\n } else if (this.transform === 'datetime') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, \"yyyy-MM-dd'T'HH:mm:ss\") : value),\n };\n } else {\n return this.transform;\n }\n };\n\n private formatInput = async (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input && this.format) {\n input.value = await this.format(input.value, this.value, ev);\n }\n };\n\n private handleInput = (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n const transformer = this.getTransformer();\n this.value = transformer?.to ? transformer.to(input.value) : input.value;\n this.valueChange.emit(this.value);\n }\n };\n\n private onFocus = () => {\n if (this.touched) forceUpdate(this.hostEl);\n else this.touched = true;\n }\n\n private suppress = (ev: Event) => {\n if (this.suppressDefaultBehavior)\n ev.preventDefault();\n }\n\n render() {\n const transformer = this.getTransformer();\n return (\n <Host>\n <div part=\"container\" class={{ [this.size]: true, disabled: this.disabled, multiline: this.multiline }}>\n <slot name=\"start\" />\n\n <slot name='label'>\n {this.label && <je-label part='label' required={this.required}>{this.label}</je-label>}\n </slot>\n\n {this.multiline ? (\n <textarea\n part=\"textarea\"\n tabindex={0}\n ref={el => (this.inputEl = el)}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onFocus={this.onFocus}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n disabled={this.disabled}\n maxLength={this.maxlength}\n minLength={this.minlength}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n />\n ) : (\n <input\n part='input'\n tabindex={0}\n ref={el => (this.inputEl = el)}\n class={{suppress: this.suppressDefaultBehavior}}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onClick={this.suppress}\n onFocus={this.onFocus}\n disabled={this.disabled}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n inputMode={this.inputMode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n pattern={this.pattern}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n type={this.type == 'password' && this.showPassword ? 'text' : this.type}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n placeholder={this.placeholder}\n />\n )}\n\n {this.type === 'password' && (\n <je-icon-button size=\"sm\" icon={this.showPassword ? 'visibility_off' : 'visibility'} onClick={() => (this.showPassword = !this.showPassword)} />\n )}\n\n <slot name=\"end\" />\n\n {this.pending && <je-loading/>}\n {this.success && <je-color color=\"success\"><je-icon fill size=\"sm\">check_circle</je-icon></je-color>}\n {this.error && typeof this.error === 'string' ? (\n <je-tooltip>\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n <div slot=\"content\">{this.error}</div>\n </je-tooltip>\n ) : this.error ? (\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n ) : null}\n </div>\n\n <slot name='note'>\n {this.invalid && this.touched ? (\n <je-note part='note' invalid>{this.internals.validationMessage}</je-note>\n ) : this.note ? (\n <je-note part='note'>{this.note}</je-note>\n ) : null}\n </slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"je-textfield.entry.cjs.js","sources":["src/utils/functions/debounce-event.ts","src/components/je-textfield/je-textfield.scss?tag=je-textfield&encapsulation=shadow","src/components/je-textfield/je-textfield.tsx"],"sourcesContent":["import { EventEmitter } from \"@stencil/core\";\n\nconst debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const debounceEvent = (event: EventEmitter, wait: number) => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n","@use '../../styles/styles' as *;\n\n:host {\n display: flex;\n flex-direction: column;\n gap: spacing-get(3xs);\n}\n\n:host(:focus) div[part=container] {\n border-color: light-dark(primary(500), primary(200));\n}\n\n:host(:state(--user-invalid)) div[part=container] {\n border-color: light-dark(danger(400), danger(300));\n}\n\nje-note {\n margin-left: spacing-get(xs);\n}\n\ndiv[part=container] {\n position: relative;\n box-sizing: border-box;\n display: flex;\n gap: spacing-get(xs);\n border-radius: radius-get(md);\n border: solid 1px light-dark(secondary(), secondary(400));\n align-items: center;\n background-color: light-dark(primary(25), primary(975));\n color: light-dark(secondary(900), secondary(50));\n padding-inline: spacing-get(xs);\n &.sm {\n height: 2.5rem;\n }\n &.md {\n height: 3rem;\n }\n &.lg {\n height: 3.5rem;\n }\n &.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n}\n\ninput,\ntextarea {\n background-color: inherit;\n color: inherit;\n font-family: inherit;\n flex: 1;\n min-width: 0;\n outline: 0;\n border: 0;\n margin: 0;\n padding: 0;\n font-size: font-size(md);\n font-weight: font-weight(light);\n color: light-dark(secondary(950), secondary(50));\n\n &::placeholder {\n font-family: inherit;\n color: light-dark(secondary(750), secondary(650));\n font-size: font-size(md);\n font-weight: font-weight(light);\n }\n\n &[type=password]::-ms-reveal,\n &[type=password]::-ms-clear {\n display: none !important;\n }\n}\n","import { Component, Host, Prop, h, Element, State, Event, EventEmitter, AttachInternals, forceUpdate, Method, Listen, Watch } from '@stencil/core';\nimport { format, parseISO } from 'date-fns';\nimport { debounceEvent } from '../../utils/utils';\n\nexport type InputTransformer<T = any> = {\n to?: (value: string) => T;\n from?: (value: T) => string;\n}\n\nexport type FormatterFn = (newValue: string, oldValue?: string, ev?: InputEvent) => string | Promise<string>;\n\nexport type ValidationFn = (value: string) => string[] | Promise<string[]>;\n\n@Component({\n tag: 'je-textfield',\n styleUrl: 'je-textfield.scss',\n shadow: {\n delegatesFocus: true\n },\n formAssociated: true\n})\nexport class JeTextfield {\n private inputEl!: HTMLInputElement | HTMLTextAreaElement;\n private invalid = false;\n //private containerEl!: HTMLElement;\n\n @Element() hostEl!: HTMLJeTextfieldElement;\n @AttachInternals() internals: ElementInternals;\n @State() touched = false;\n @State() showPassword = false;\n\n /**\n * The default value the control will reset to in a form.\n * If not set, will default to the inital value of the \"value\" property.\n */\n @Prop({ mutable: true }) originalValue?: string;\n\n /**\n * Text above the control\n */\n @Prop() label?: string;\n\n /**\n * Renders input as disabled and prevents changes\n */\n @Prop() disabled = false;\n\n /**\n * Passed to native input\n */\n @Prop() autoCapitalize = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoComplete = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoCorrect: 'off' | 'on' = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoFocus?: boolean;\n\n /**\n * Passed to native input\n */\n @Prop() inputMode: string;\n\n /**\n * Passed to native input\n */\n @Prop() min?: any;\n\n /**\n * Passed to native input\n */\n @Prop() max?: any;\n\n /**\n * Passed to native input\n */\n @Prop() minlength?: number;\n\n /**\n * Passed to native input\n */\n @Prop() maxlength?: number;\n\n /**\n * Passed to native textarea\n */\n @Prop() wrap?: string;\n\n /**\n * Passed to native input\n */\n @Prop() pattern?: string;\n\n /**\n * Renders input as read only and prevents changes\n */\n @Prop() readonly = false;\n\n /**\n * Marks as required in form and adds asterisk to the end of the label\n */\n @Prop() required = false;\n\n /**\n * Passed to native input\n */\n @Prop() spellcheck = false;\n\n /**\n * Passed to native input\n */\n @Prop() step?: string;\n\n /**\n * Container size\n */\n @Prop() size: 'md' | 'lg' | 'sm' = 'md';\n\n /**\n * Passed to native input\n */\n @Prop({ mutable: true }) type = 'text';\n\n /**\n * Current value of the input\n */\n @Prop({ mutable: true }) value: any;\n\n /**\n * Input placeholder text\n */\n @Prop() placeholder?: string;\n\n /**\n * Optional debounce of the didInput event\n */\n @Prop() debounce = 0;\n\n /**\n * Formatters functions that are applied as the user types\n */\n @Prop() format?: FormatterFn;\n\n /**\n * Validator functions for form participation\n */\n @Prop() validators?: ValidationFn[];\n\n /**\n * Informational message directly below the control\n */\n @Prop() note?: string;\n\n /**\n * Transforms the value before it is passed to the input (from) and after the input emits a new value (to).\n *\n * There are built-in transformers for 'number', 'date', and 'datetime'.\n */\n @Prop() transform?: InputTransformer | 'number' | 'date' | 'datetime';\n\n /**\n * Whether the control is a multiline textarea\n */\n @Prop() multiline = false;\n\n /**\n * Shows a loading indicator in the end slot when true\n */\n @Prop() pending = false;\n\n private internalErrorProp?: boolean | string;\n /**\n * Shows an error icon in the end slot when true. If a string is passed in, it will render the icon as a tooltip.\n * Has no effect on form validation\n */\n @Prop() get error() {\n return this.internalErrorProp;\n }\n set error(value: any) {\n if (value === 'true' || value === '') {\n this.internalErrorProp = true;\n } else if (value === 'false') {\n this.internalErrorProp = false;\n } else {\n this.internalErrorProp = value;\n }\n }\n\n /**\n * Shows a success icon in the end slot when true. Has no effect on form validation\n */\n @Prop() success = false;\n\n /**\n * Emits as the user types\n */\n @Event({ bubbles: false }) valueChange: EventEmitter<any>;\n\n componentWillLoad() {\n if (!this.originalValue) this.originalValue = this.value;\n if (this.debounce) this.valueChange = debounceEvent(this.valueChange, this.debounce);\n }\n\n componentDidLoad() {\n this.internals.role = 'textbox';\n if (this.value) this.internals.setFormValue(this.value);\n }\n\n async componentWillRender() {\n const { hasError, minLengthError, maxLengthError, requiredError, patternError, customErrors } = await this.getErrors();\n this.invalid = hasError;\n if (hasError) {\n const errorMessage = requiredError\n ? 'This field is required'\n : minLengthError\n ? `This field must be at least ${this.minlength} characters long`\n : maxLengthError\n ? `This field must be less than ${this.maxlength} characters long`\n : patternError\n ? `Invalid pattern`\n : customErrors[0];\n this.internals.setValidity(\n {\n valueMissing: requiredError,\n tooShort: minLengthError,\n tooLong: maxLengthError,\n patternMismatch: patternError,\n customError: customErrors.length > 0,\n },\n errorMessage,\n );\n if (this.touched) {\n this.internals.reportValidity();\n }\n } else {\n this.internals.setValidity({});\n }\n }\n\n componentDidRender() {\n this.internals.ariaLabel = this.label || this.hostEl.querySelector('[slot=label]')?.textContent\n this.internals.ariaDescription = this.note || this.hostEl.querySelector('[slot=note]')?.textContent\n this.internals.ariaInvalid = this.internals.validity.valid ? 'true' : 'false'\n this.internals.ariaRequired = this.required ? 'true' : 'false'\n this.internals.ariaDisabled = this.disabled ? 'true' : 'false'\n this.internals.ariaReadOnly = this.readonly ? 'true' : 'false'\n this.internals.ariaMultiLine = this.multiline ? 'true' : 'false'\n this.internals.ariaPlaceholder = this.placeholder || this.hostEl.querySelector('[slot=placeholder]')?.textContent\n this.internals.ariaAutoComplete = this.autoComplete\n\n this.internals.states.clear()\n this.internals.states.add(this.invalid ? '--invalid' : '--valid');\n if (this.touched) this.internals.states.add(this.invalid ? '--user-invalid' : '--user-valid')\n this.internals.states.add(this.required ? '--required' : '--optional')\n this.internals.states.add(this.disabled ? '--disabled' : '--enabled')\n this.internals.states.add(this.readonly ? '--readonly' : '--readwrite')\n this.internals.states.add(this.multiline ? '--multiline' : '--singleline')\n this.internals.states.add(this.value ? '--filled' : '--empty')\n }\n\n formResetCallback() {\n this.touched = false;\n this.value = this.originalValue;\n }\n\n @Watch('value')\n handleValueChange() {\n this.internals.setFormValue(this.value || null);\n this.valueChange.emit(this.value);\n }\n\n @Method()\n async getInputElement() {\n return this.inputEl;\n }\n\n @Method()\n async markAsTouched() {\n this.touched = true;\n }\n\n @Method()\n async getErrors() {\n const requiredError = this.required && (this.value ?? '') === '';\n const minLengthError = this.minlength && (this.value ?? '').length < this.minlength;\n const maxLengthError = this.maxlength && (this.value ?? '').length > this.maxlength;\n const patternError = this.pattern && !new RegExp(this.pattern).test(this.value ?? '');\n let customErrors: string[] = [];\n if (this.validators) {\n for (const validator of this.validators) {\n const res = await validator(this.value);\n customErrors = [...customErrors, ...res];\n }\n }\n return {\n requiredError,\n minLengthError,\n maxLengthError,\n patternError,\n customErrors,\n hasError: requiredError || minLengthError || maxLengthError || patternError || customErrors.length > 0,\n };\n }\n\n @Method()\n async isTouched() {\n return this.touched;\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (this.multiline && ev.key === 'Enter' && ev.shiftKey)\n ev.stopPropagation()\n }\n\n @Listen('invalid')\n handleInvalid(ev: Event) {\n ev.preventDefault();\n }\n\n private getTransformer = () => {\n if (this.transform === 'number') {\n return {\n to: (value: string) => parseFloat(value),\n from: (value: number) => value.toString(),\n };\n } else if (this.transform === 'date') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, 'yyyy-MM-dd') : value),\n };\n } else if (this.transform === 'datetime') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, \"yyyy-MM-dd'T'HH:mm:ss\") : value),\n };\n } else {\n return this.transform;\n }\n };\n\n private formatInput = async (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input && this.format) {\n input.value = await this.format(input.value, this.value, ev);\n }\n };\n\n private handleInput = (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n const transformer = this.getTransformer();\n this.value = transformer?.to ? transformer.to(input.value) : input.value;\n }\n };\n\n private onFocus = () => {\n if (this.touched) forceUpdate(this.hostEl);\n else this.touched = true;\n }\n\n render() {\n const transformer = this.getTransformer();\n return (\n <Host>\n <div part=\"container\" class={{ [this.size]: true, disabled: this.disabled, multiline: this.multiline }}>\n <slot name=\"start\" />\n\n <slot name='label'>\n {this.label && <je-label part='label' required={this.required}>{this.label}</je-label>}\n </slot>\n\n {this.multiline ? (\n <textarea\n part=\"textarea\"\n tabindex={0}\n ref={el => (this.inputEl = el)}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onFocus={this.onFocus}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n disabled={this.disabled}\n maxLength={this.maxlength}\n minLength={this.minlength}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n />\n ) : (\n <input\n part='input'\n tabindex={0}\n ref={el => (this.inputEl = el)}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onFocus={this.onFocus}\n disabled={this.disabled}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n inputMode={this.inputMode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n pattern={this.pattern}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n type={this.type == 'password' && this.showPassword ? 'text' : this.type}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n placeholder={this.placeholder}\n />\n )}\n\n {this.type === 'password' && (\n <je-icon-button size=\"sm\" icon={this.showPassword ? 'visibility_off' : 'visibility'} onClick={() => (this.showPassword = !this.showPassword)} />\n )}\n\n <slot name=\"end\" />\n\n {this.pending && <je-loading/>}\n {this.success && <je-color color=\"success\"><je-icon fill size=\"sm\">check_circle</je-icon></je-color>}\n {this.error && typeof this.error === 'string' ? (\n <je-tooltip>\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n <div slot=\"content\">{this.error}</div>\n </je-tooltip>\n ) : this.error ? (\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n ) : null}\n </div>\n\n <slot name='note'>\n {this.invalid && this.touched ? (\n <je-note part='note' invalid>{this.internals.validationMessage}</je-note>\n ) : this.note ? (\n <je-note part='note'>{this.note}</je-note>\n ) : null}\n </slot>\n </Host>\n );\n }\n}\n"],"names":["parseISO","format","forceUpdate","h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"je-textfield.entry.cjs.js","sources":["src/utils/functions/debounce-event.ts","src/components/je-textfield/je-textfield.scss?tag=je-textfield&encapsulation=shadow","src/components/je-textfield/je-textfield.tsx"],"sourcesContent":["import { EventEmitter } from \"@stencil/core\";\n\nconst debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const debounceEvent = (event: EventEmitter, wait: number) => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n","@use '../../styles/styles' as *;\n\n:host {\n display: flex;\n flex-direction: column;\n gap: spacing-get(3xs);\n}\n\n:host(:focus) div[part=container] {\n border-color: light-dark(primary(500), primary(200));\n}\n\n:host(:state(--user-invalid)) div[part=container] {\n border-color: light-dark(danger(400), danger(300));\n}\n\nje-note {\n margin-left: spacing-get(xs);\n}\n\ndiv[part=container] {\n position: relative;\n box-sizing: border-box;\n display: flex;\n gap: spacing-get(xs);\n border-radius: radius-get(md);\n border: solid 1px light-dark(secondary(), secondary(400));\n align-items: center;\n background-color: light-dark(primary(25), primary(975));\n color: light-dark(secondary(900), secondary(50));\n padding-inline: spacing-get(xs);\n &.sm {\n height: 2.5rem;\n textarea {\n height: 6rem;\n }\n }\n &.md {\n height: 3rem;\n textarea {\n height: 8rem;\n }\n }\n &.lg {\n height: 3.5rem;\n textarea {\n height: 10rem;\n }\n }\n &.multiline {\n align-items: baseline;\n height: fit-content;\n }\n &.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n }\n}\n\ninput,\ntextarea {\n background-color: inherit;\n color: inherit;\n font-family: inherit;\n box-shadow: none;\n flex: 1;\n min-width: 0;\n box-sizing: border-box;\n outline: 0;\n border: 0;\n margin: 0;\n padding: 0;\n font-size: font-size(md);\n font-weight: font-weight(light);\n color: light-dark(secondary(950), secondary(50));\n\n &::placeholder {\n font-family: inherit;\n color: light-dark(secondary(750), secondary(650));\n font-size: font-size(md);\n font-weight: font-weight(light);\n }\n\n &[type=password]::-ms-reveal,\n &[type=password]::-ms-clear {\n display: none !important;\n }\n\n &.suppress::-webkit-calendar-picker-indicator {\n display: none;\n }\n}\n\ntextarea {\n resize: none;\n}\n","import { Component, Host, Prop, h, Element, State, Event, EventEmitter, AttachInternals, forceUpdate, Method, Listen, Watch } from '@stencil/core';\nimport { format, parseISO } from 'date-fns';\nimport { debounceEvent } from '../../utils/utils';\n\nexport type InputTransformer<T = any> = {\n to?: (value: string) => T;\n from?: (value: T) => string;\n}\n\nexport type FormatterFn = (newValue: string, oldValue?: string, ev?: InputEvent) => string | Promise<string>;\n\nexport type ValidationFn = (value: string) => string[] | Promise<string[]>;\n\n@Component({\n tag: 'je-textfield',\n styleUrl: 'je-textfield.scss',\n shadow: {\n delegatesFocus: true\n },\n formAssociated: true\n})\nexport class JeTextfield {\n private inputEl!: HTMLInputElement | HTMLTextAreaElement;\n private invalid = false;\n //private containerEl!: HTMLElement;\n\n @Element() hostEl!: HTMLJeTextfieldElement;\n @AttachInternals() internals: ElementInternals;\n @State() touched = false;\n @State() showPassword = false;\n\n /**\n * The default value the control will reset to in a form.\n * If not set, will default to the inital value of the \"value\" property.\n */\n @Prop({ mutable: true }) originalValue?: string;\n\n /**\n * Text above the control\n */\n @Prop() label?: string;\n\n /**\n * Renders input as disabled and prevents changes\n */\n @Prop() disabled = false;\n\n /**\n * Passed to native input\n */\n @Prop() autoCapitalize = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoComplete = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoCorrect: 'off' | 'on' = 'off';\n\n /**\n * Passed to native input\n */\n @Prop() autoFocus?: boolean;\n\n /**\n * Passed to native input\n */\n @Prop() inputMode: string;\n\n /**\n * Passed to native input\n */\n @Prop() min?: any;\n\n /**\n * Passed to native input\n */\n @Prop() max?: any;\n\n /**\n * Passed to native input\n */\n @Prop() minlength?: number;\n\n /**\n * Passed to native input\n */\n @Prop() maxlength?: number;\n\n /**\n * Passed to native textarea\n */\n @Prop() wrap?: string;\n\n /**\n * Passed to native input\n */\n @Prop() pattern?: string;\n\n /**\n * Renders input as read only and prevents changes\n */\n @Prop() readonly = false;\n\n /**\n * Marks as required in form and adds asterisk to the end of the label\n */\n @Prop() required = false;\n\n /**\n * Passed to native input\n */\n @Prop() spellcheck = false;\n\n /**\n * Passed to native input\n */\n @Prop() step?: string;\n\n /**\n * Container size\n */\n @Prop() size: 'md' | 'lg' | 'sm' = 'md';\n\n /**\n * Passed to native input\n */\n @Prop({ mutable: true }) type = 'text';\n\n /**\n * Current value of the input\n */\n @Prop({ mutable: true }) value: any;\n\n /**\n * Input placeholder text\n */\n @Prop() placeholder?: string;\n\n /**\n * Optional debounce of the didInput event\n */\n @Prop() debounce = 0;\n\n /**\n * Formatters functions that are applied as the user types\n */\n @Prop() format?: FormatterFn;\n\n /**\n * Validator functions for form participation\n */\n @Prop() validators?: ValidationFn[];\n\n /**\n * Informational message directly below the control\n */\n @Prop() note?: string;\n\n /**\n * Whether to suppress the default behavior of the input event\n */\n @Prop() suppressDefaultBehavior = false\n\n /**\n * Transforms the value before it is passed to the input (from) and after the input emits a new value (to).\n *\n * There are built-in transformers for 'number', 'date', and 'datetime'.\n */\n @Prop() transform?: InputTransformer | 'number' | 'date' | 'datetime';\n\n /**\n * Whether the control is a multiline textarea\n */\n @Prop() multiline = false;\n\n /**\n * Shows a loading indicator in the end slot when true\n */\n @Prop() pending = false;\n\n private internalErrorProp?: boolean | string;\n /**\n * Shows an error icon in the end slot when true. If a string is passed in, it will render the icon as a tooltip.\n * Has no effect on form validation\n */\n @Prop() get error() {\n return this.internalErrorProp;\n }\n set error(value: any) {\n if (value === 'true' || value === '') {\n this.internalErrorProp = true;\n } else if (value === 'false') {\n this.internalErrorProp = false;\n } else {\n this.internalErrorProp = value;\n }\n }\n\n /**\n * Shows a success icon in the end slot when true. Has no effect on form validation\n */\n @Prop() success = false;\n\n /**\n * Emits as the user types\n */\n @Event({ bubbles: false }) valueChange: EventEmitter<any>;\n\n componentWillLoad() {\n if (!this.originalValue) this.originalValue = this.value;\n if (this.debounce) this.valueChange = debounceEvent(this.valueChange, this.debounce);\n }\n\n componentDidLoad() {\n this.internals.role = 'textbox';\n if (this.value) this.internals.setFormValue(this.value);\n }\n\n async componentWillRender() {\n const { hasError, minLengthError, maxLengthError, requiredError, patternError, customErrors } = await this.getErrors();\n this.invalid = hasError;\n if (hasError) {\n const errorMessage = requiredError\n ? 'This field is required'\n : minLengthError\n ? `This field must be at least ${this.minlength} characters long`\n : maxLengthError\n ? `This field must be less than ${this.maxlength} characters long`\n : patternError\n ? `Invalid pattern`\n : customErrors[0];\n this.internals.setValidity(\n {\n valueMissing: requiredError,\n tooShort: minLengthError,\n tooLong: maxLengthError,\n patternMismatch: patternError,\n customError: customErrors.length > 0,\n },\n errorMessage,\n );\n if (this.touched) {\n this.internals.reportValidity();\n }\n } else {\n this.internals.setValidity({});\n }\n }\n\n componentDidRender() {\n this.internals.ariaLabel = this.label || this.hostEl.querySelector('[slot=label]')?.textContent\n this.internals.ariaDescription = this.note || this.hostEl.querySelector('[slot=note]')?.textContent\n this.internals.ariaInvalid = this.internals.validity.valid ? 'true' : 'false'\n this.internals.ariaRequired = this.required ? 'true' : 'false'\n this.internals.ariaDisabled = this.disabled ? 'true' : 'false'\n this.internals.ariaReadOnly = this.readonly ? 'true' : 'false'\n this.internals.ariaMultiLine = this.multiline ? 'true' : 'false'\n this.internals.ariaPlaceholder = this.placeholder || this.hostEl.querySelector('[slot=placeholder]')?.textContent\n this.internals.ariaAutoComplete = this.autoComplete\n\n this.internals.states.clear()\n this.internals.states.add(this.invalid ? '--invalid' : '--valid');\n if (this.touched) this.internals.states.add(this.invalid ? '--user-invalid' : '--user-valid')\n this.internals.states.add(this.required ? '--required' : '--optional')\n this.internals.states.add(this.disabled ? '--disabled' : '--enabled')\n this.internals.states.add(this.readonly ? '--readonly' : '--readwrite')\n this.internals.states.add(this.multiline ? '--multiline' : '--singleline')\n this.internals.states.add(this.value ? '--filled' : '--empty')\n }\n\n formResetCallback() {\n this.touched = false;\n this.value = this.originalValue;\n this.valueChange.emit(this.value);\n }\n\n @Watch('value')\n handleValueChange() {\n this.internals.setFormValue(this.value || null);\n }\n\n @Method()\n async getInputElement() {\n return this.inputEl;\n }\n\n @Method()\n async markAsTouched() {\n this.touched = true;\n }\n\n @Method()\n async getErrors() {\n const requiredError = this.required && (this.value ?? '') === '';\n const minLengthError = this.minlength && (this.value ?? '').length < this.minlength;\n const maxLengthError = this.maxlength && (this.value ?? '').length > this.maxlength;\n const patternError = this.pattern && !new RegExp(this.pattern).test(this.value ?? '');\n let customErrors: string[] = [];\n if (this.validators) {\n for (const validator of this.validators) {\n const res = await validator(this.value);\n customErrors = [...customErrors, ...res];\n }\n }\n return {\n requiredError,\n minLengthError,\n maxLengthError,\n patternError,\n customErrors,\n hasError: requiredError || minLengthError || maxLengthError || patternError || customErrors.length > 0,\n };\n }\n\n @Method()\n async isTouched() {\n return this.touched;\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (this.multiline && ev.key === 'Enter' && ev.shiftKey)\n ev.stopPropagation()\n }\n\n @Listen('invalid')\n handleInvalid(ev: Event) {\n ev.preventDefault();\n }\n\n private getTransformer = () => {\n if (this.transform === 'number') {\n return {\n to: (value: string) => parseFloat(value),\n from: (value: number) => value.toString(),\n };\n } else if (this.transform === 'date') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, 'yyyy-MM-dd') : value),\n };\n } else if (this.transform === 'datetime') {\n return {\n to: (value: string) => (value ? parseISO(value).getTime() : value),\n from: (value: any) => (value ? format(value, \"yyyy-MM-dd'T'HH:mm:ss\") : value),\n };\n } else {\n return this.transform;\n }\n };\n\n private formatInput = async (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input && this.format) {\n input.value = await this.format(input.value, this.value, ev);\n }\n };\n\n private handleInput = (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n const transformer = this.getTransformer();\n this.value = transformer?.to ? transformer.to(input.value) : input.value;\n this.valueChange.emit(this.value);\n }\n };\n\n private onFocus = () => {\n if (this.touched) forceUpdate(this.hostEl);\n else this.touched = true;\n }\n\n private suppress = (ev: Event) => {\n if (this.suppressDefaultBehavior)\n ev.preventDefault();\n }\n\n render() {\n const transformer = this.getTransformer();\n return (\n <Host>\n <div part=\"container\" class={{ [this.size]: true, disabled: this.disabled, multiline: this.multiline }}>\n <slot name=\"start\" />\n\n <slot name='label'>\n {this.label && <je-label part='label' required={this.required}>{this.label}</je-label>}\n </slot>\n\n {this.multiline ? (\n <textarea\n part=\"textarea\"\n tabindex={0}\n ref={el => (this.inputEl = el)}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onFocus={this.onFocus}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n disabled={this.disabled}\n maxLength={this.maxlength}\n minLength={this.minlength}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n />\n ) : (\n <input\n part='input'\n tabindex={0}\n ref={el => (this.inputEl = el)}\n class={{suppress: this.suppressDefaultBehavior}}\n onInputCapture={this.formatInput}\n onInput={this.handleInput}\n onClick={this.suppress}\n onFocus={this.onFocus}\n disabled={this.disabled}\n autoCapitalize={this.autoCapitalize}\n autoComplete={this.autoComplete}\n autoCorrect={this.autoCorrect}\n autoFocus={this.autoFocus}\n inputMode={this.inputMode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n pattern={this.pattern}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n type={this.type == 'password' && this.showPassword ? 'text' : this.type}\n value={transformer?.from ? transformer.from(this.value) : this.value}\n placeholder={this.placeholder}\n />\n )}\n\n {this.type === 'password' && (\n <je-icon-button size=\"sm\" icon={this.showPassword ? 'visibility_off' : 'visibility'} onClick={() => (this.showPassword = !this.showPassword)} />\n )}\n\n <slot name=\"end\" />\n\n {this.pending && <je-loading/>}\n {this.success && <je-color color=\"success\"><je-icon fill size=\"sm\">check_circle</je-icon></je-color>}\n {this.error && typeof this.error === 'string' ? (\n <je-tooltip>\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n <div slot=\"content\">{this.error}</div>\n </je-tooltip>\n ) : this.error ? (\n <je-color color=\"danger\">\n <je-icon fill size=\"sm\">error</je-icon>\n </je-color>\n ) : null}\n </div>\n\n <slot name='note'>\n {this.invalid && this.touched ? (\n <je-note part='note' invalid>{this.internals.validationMessage}</je-note>\n ) : this.note ? (\n <je-note part='note'>{this.note}</je-note>\n ) : null}\n </slot>\n </Host>\n );\n }\n}\n"],"names":["parseISO","format","forceUpdate","h","Host"],"mappings":";;;;;AAEA,MAAM,QAAQ,GAAG,CAAC,IAA8B,EAAE,IAAI,GAAG,CAAC,KAAI;AAC5D,IAAA,IAAI,KAAU;AACd,IAAA,OAAO,CAAC,GAAG,IAAW,KAAS;QAC7B,YAAY,CAAC,KAAK,CAAC;QACnB,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;AACzC,KAAC;AACH,CAAC;AAEM,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,IAAY,KAAI;AACjE,IAAA,MAAM,QAAQ,GAAI,KAAa,CAAC,SAAS,IAAI,KAAK;IAClD,OAAO;AACL,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;KACnC;AACnB,CAAC;;AChBD,MAAM,cAAc,GAAG,+4EAA+4E;;MCqBz5E,WAAW,GAAA,MAAA;AARxB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;;;;;;AAUU,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAKd,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK;AAa7B;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAExB;;AAEG;AACK,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK;AAE9B;;AAEG;AACK,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK;AAE5B;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAiB,KAAK;AA0CzC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAExB;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAExB;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK;AAO1B;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAuB,IAAI;AAEvC;;AAEG;AACsB,QAAA,IAAI,CAAA,IAAA,GAAG,MAAM;AAYtC;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,CAAC;AAiBpB;;AAEG;AACK,QAAA,IAAuB,CAAA,uBAAA,GAAG,KAAK;AASvC;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;AAEzB;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAoBvB;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAiIf,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;AAC5B,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC/B,OAAO;oBACL,EAAE,EAAE,CAAC,KAAa,KAAK,UAAU,CAAC,KAAK,CAAC;oBACxC,IAAI,EAAE,CAAC,KAAa,KAAK,KAAK,CAAC,QAAQ,EAAE;iBAC1C;;AACI,iBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;gBACpC,OAAO;oBACL,EAAE,EAAE,CAAC,KAAa,MAAM,KAAK,GAAGA,+BAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;oBAClE,IAAI,EAAE,CAAC,KAAU,MAAM,KAAK,GAAGC,6BAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;iBACpE;;AACI,iBAAA,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;gBACxC,OAAO;oBACL,EAAE,EAAE,CAAC,KAAa,MAAM,KAAK,GAAGD,+BAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC;oBAClE,IAAI,EAAE,CAAC,KAAU,MAAM,KAAK,GAAGC,6BAAM,CAAC,KAAK,EAAE,uBAAuB,CAAC,GAAG,KAAK,CAAC;iBAC/E;;iBACI;gBACL,OAAO,IAAI,CAAC,SAAS;;AAEzB,SAAC;AAEO,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,EAAc,KAAI;AAC7C,YAAA,MAAM,KAAK,GAAG,EAAE,CAAC,MAAiC;AAClD,YAAA,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACxB,gBAAA,KAAK,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;;AAEhE,SAAC;AAEO,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,EAAc,KAAI;AACvC,YAAA,MAAM,KAAK,GAAG,EAAE,CAAC,MAAiC;YAClD,IAAI,KAAK,EAAE;AACT,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;AACzC,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAA,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,EAAE,IAAG,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK;gBACxE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAErC,SAAC;AAEO,QAAA,IAAO,CAAA,OAAA,GAAG,MAAK;YACrB,IAAI,IAAI,CAAC,OAAO;AAAE,gBAAAC,iBAAW,CAAC,IAAI,CAAC,MAAM,CAAC;;AACrC,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AAC1B,SAAC;AAEO,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,EAAS,KAAI;YAC/B,IAAI,IAAI,CAAC,uBAAuB;gBAC9B,EAAE,CAAC,cAAc,EAAE;AACvB,SAAC;AAkGF;AApSC;;;AAGG;AACH,IAAA,IAAY,KAAK,GAAA;QACf,OAAO,IAAI,CAAC,iBAAiB;;IAE/B,IAAI,KAAK,CAAC,KAAU,EAAA;QAClB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,EAAE,EAAE;AACpC,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;;AACxB,aAAA,IAAI,KAAK,KAAK,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;;aACzB;AACL,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;;;IAclC,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,aAAa;AAAE,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK;QACxD,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;;IAGtF,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS;QAC/B,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGzD,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AACtH,QAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;QACvB,IAAI,QAAQ,EAAE;YACZ,MAAM,YAAY,GAAG;AACnB,kBAAE;AACF,kBAAE;AACF,sBAAE,CAAA,4BAAA,EAA+B,IAAI,CAAC,SAAS,CAAkB,gBAAA;AACjE,sBAAE;AACF,0BAAE,CAAA,6BAAA,EAAgC,IAAI,CAAC,SAAS,CAAkB,gBAAA;AAClE,0BAAE;AACF,8BAAE,CAAiB,eAAA;AACnB,8BAAE,YAAY,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB;AACE,gBAAA,YAAY,EAAE,aAAa;AAC3B,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,eAAe,EAAE,YAAY;AAC7B,gBAAA,WAAW,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;aACrC,EACD,YAAY,CACb;AACD,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,gBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;;;aAE5B;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;;;IAIlC,kBAAkB,GAAA;;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,WAAW,CAAA;AAC/F,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,WAAW,CAAA;QACnG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO;AAC7E,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO;AAC9D,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO;AAC9D,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO;AAC9D,QAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,OAAO;AAChE,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,WAAW,CAAA;QACjH,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY;AAEnD,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;QACjE,IAAI,IAAI,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAC7F,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AACtE,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;AACrE,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AACvE,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;AAC1E,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;;IAGhE,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa;QAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;IAInC,iBAAiB,GAAA;QACf,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;;AAIjD,IAAA,MAAM,eAAe,GAAA;QACnB,OAAO,IAAI,CAAC,OAAO;;AAIrB,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;AAIrB,IAAA,MAAM,SAAS,GAAA;;AACb,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,EAAE,MAAM,EAAE;AAChE,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS;AACnF,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS;AACnF,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,CAAC;QACrF,IAAI,YAAY,GAAa,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;gBACvC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvC,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,GAAG,CAAC;;;QAG5C,OAAO;YACL,aAAa;YACb,cAAc;YACd,cAAc;YACd,YAAY;YACZ,YAAY;AACZ,YAAA,QAAQ,EAAE,aAAa,IAAI,cAAc,IAAI,cAAc,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;SACvG;;AAIH,IAAA,MAAM,SAAS,GAAA;QACb,OAAO,IAAI,CAAC,OAAO;;AAIrB,IAAA,aAAa,CAAC,EAAiB,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,QAAQ;YACrD,EAAE,CAAC,eAAe,EAAE;;AAIxB,IAAA,aAAa,CAAC,EAAS,EAAA;QACrB,EAAE,CAAC,cAAc,EAAE;;IAkDrB,MAAM,GAAA;AACJ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;QACzC,QACEC,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAA,EACpGA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAG,CAAA,EAErBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAA,EACf,IAAI,CAAC,KAAK,IAAIA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,KAAK,CAAY,CACjF,EAEN,IAAI,CAAC,SAAS,IACbA,sBACE,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAC9B,cAAc,EAAE,IAAI,CAAC,WAAW,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,CAAA,WAAW,aAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,IAAI,IAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,EACpE,CAAA,KAEFA,OACE,CAAA,OAAA,EAAA,EAAA,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAC9B,KAAK,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EAAC,EAC/C,cAAc,EAAE,IAAI,CAAC,WAAW,EAChC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,EACvE,KAAK,EAAE,CAAA,WAAW,aAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,IAAI,IAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,EACpE,WAAW,EAAE,IAAI,CAAC,WAAW,GAC7B,CACH,EAEA,IAAI,CAAC,IAAI,KAAK,UAAU,KACvBA,6EAAgB,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,CAAC,YAAY,GAAG,gBAAgB,GAAG,YAAY,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAI,CACjJ,EAEDA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EAAG,CAAA,EAElB,IAAI,CAAC,OAAO,IAAIA,OAAa,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EAC7B,IAAI,CAAC,OAAO,IAAIA,OAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAACA,OAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,IAAI,EAAC,IAAA,EAAA,IAAI,EAAC,IAAI,mBAAuB,CAAW,EACnG,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAC3CA,OAAA,CAAA,YAAA,EAAA,IAAA,EACEA,OAAU,CAAA,UAAA,EAAA,EAAA,KAAK,EAAC,QAAQ,EAAA,EACtBA,OAAA,CAAA,SAAA,EAAA,EAAS,IAAI,EAAC,IAAA,EAAA,IAAI,EAAC,IAAI,YAAgB,CAC9B,EACXA,OAAK,CAAA,KAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAAE,IAAI,CAAC,KAAK,CAAO,CAC3B,IACX,IAAI,CAAC,KAAK,IACZA,OAAA,CAAA,UAAA,EAAA,EAAU,KAAK,EAAC,QAAQ,EAAA,EACtBA,OAAA,CAAA,SAAA,EAAA,EAAS,IAAI,EAAA,IAAA,EAAC,IAAI,EAAC,IAAI,EAAA,EAAA,OAAA,CAAgB,CAC9B,IACT,IAAI,CACJ,EAENA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EACd,EAAA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAC3BA,OAAA,CAAA,SAAA,EAAA,EAAS,IAAI,EAAC,MAAM,EAAC,OAAO,EAAA,IAAA,EAAA,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAW,IACvE,IAAI,CAAC,IAAI,IACXA,OAAS,CAAA,SAAA,EAAA,EAAA,IAAI,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAW,IACxC,IAAI,CACH,CACF;;;;;;;;;;;;;"}
@@ -40,7 +40,7 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
40
40
 
41
41
  patchBrowser().then(async (options) => {
42
42
  await appGlobals.globalScripts();
43
- 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],"button":[516],"disabled":[516]}]]],["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);
43
+ 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);
44
44
  });
45
45
 
46
46
  exports.setNonce = index.setNonce;