smoothly 1.75.0 → 1.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/smoothly-app_103.cjs.entry.js +22 -7
- package/dist/cjs/smoothly-app_103.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly.cjs.js +1 -1
- package/dist/collection/components/calendar/index.js +39 -2
- package/dist/collection/components/calendar/index.js.map +1 -1
- package/dist/collection/components/country/index.js +1 -1
- package/dist/collection/components/display/index.js +1 -1
- package/dist/collection/components/input/date/index.js +1 -1
- package/dist/collection/components/input/date/index.js.map +1 -1
- package/dist/collection/components/input/date/range/index.js +3 -3
- package/dist/collection/components/input/date/range/index.js.map +1 -1
- package/dist/collection/components/input/date/text/index.js +24 -1
- package/dist/collection/components/input/date/text/index.js.map +1 -1
- package/dist/components/{p-0cb2f052.js → p-0d6dff46.js} +4 -4
- package/dist/components/{p-0cb2f052.js.map → p-0d6dff46.js.map} +1 -1
- package/dist/components/{p-c9907679.js → p-0f3588fe.js} +6 -6
- package/dist/components/{p-c9907679.js.map → p-0f3588fe.js.map} +1 -1
- package/dist/components/{p-301216fa.js → p-4b7c29bb.js} +2 -2
- package/dist/components/{p-301216fa.js.map → p-4b7c29bb.js.map} +1 -1
- package/dist/components/{p-41e1bfbc.js → p-6a388393.js} +4 -4
- package/dist/components/p-6a388393.js.map +1 -0
- package/dist/components/{p-523ea0fd.js → p-6ac528cf.js} +5 -5
- package/dist/components/{p-523ea0fd.js.map → p-6ac528cf.js.map} +1 -1
- package/dist/components/{p-8021df9b.js → p-6c6672ff.js} +6 -6
- package/dist/components/p-6c6672ff.js.map +1 -0
- package/dist/components/{p-781fc527.js → p-7446e68b.js} +12 -12
- package/dist/components/{p-781fc527.js.map → p-7446e68b.js.map} +1 -1
- package/dist/components/{p-7afda8b1.js → p-7c5817bb.js} +9 -9
- package/dist/components/{p-7afda8b1.js.map → p-7c5817bb.js.map} +1 -1
- package/dist/components/{p-87cf0f2a.js → p-90db5f7f.js} +6 -6
- package/dist/components/{p-87cf0f2a.js.map → p-90db5f7f.js.map} +1 -1
- package/dist/components/{p-8638c169.js → p-992a6946.js} +4 -4
- package/dist/components/{p-8638c169.js.map → p-992a6946.js.map} +1 -1
- package/dist/components/{p-a7782c76.js → p-9b3fd2ae.js} +5 -5
- package/dist/components/{p-a7782c76.js.map → p-9b3fd2ae.js.map} +1 -1
- package/dist/components/{p-4ba3e6d6.js → p-a0beace6.js} +17 -4
- package/dist/components/p-a0beace6.js.map +1 -0
- package/dist/components/{p-4cae3325.js → p-a28d2ee0.js} +4 -4
- package/dist/components/{p-4cae3325.js.map → p-a28d2ee0.js.map} +1 -1
- package/dist/components/{p-67a1f9b0.js → p-a396d0bd.js} +5 -2
- package/dist/components/p-a396d0bd.js.map +1 -0
- package/dist/components/{p-314ad70d.js → p-c171aeb7.js} +4 -4
- package/dist/components/{p-314ad70d.js.map → p-c171aeb7.js.map} +1 -1
- package/dist/components/{p-e15f357f.js → p-c1f4b925.js} +6 -6
- package/dist/components/{p-e15f357f.js.map → p-c1f4b925.js.map} +1 -1
- package/dist/components/smoothly-app-demo.js +16 -16
- package/dist/components/smoothly-calendar.js +1 -1
- package/dist/components/smoothly-date-text.js +1 -1
- package/dist/components/smoothly-form-demo-date-range.js +1 -1
- package/dist/components/smoothly-form-demo-date.js +1 -1
- package/dist/components/smoothly-form-demo-pet.js +1 -1
- package/dist/components/smoothly-form-demo-schedule.js +1 -1
- package/dist/components/smoothly-form-demo-transparent.js +1 -1
- package/dist/components/smoothly-form-demo-typed.js +1 -1
- package/dist/components/smoothly-form-demo.js +1 -1
- package/dist/components/smoothly-input-checkbox-demo.js +4 -4
- package/dist/components/smoothly-input-date-demo.js +1 -1
- package/dist/components/smoothly-input-date-range.js +1 -1
- package/dist/components/smoothly-input-date-time.js +1 -1
- package/dist/components/smoothly-input-date.js +1 -1
- package/dist/components/smoothly-input-demo-standard.js +1 -1
- package/dist/components/smoothly-input-demo-user-input.js +1 -1
- package/dist/components/smoothly-input-demo.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/smoothly-app_103.entry.js +22 -7
- package/dist/esm/smoothly-app_103.entry.js.map +1 -1
- package/dist/esm/smoothly.js +1 -1
- package/dist/smoothly/p-edc714b6.entry.js +2 -0
- package/dist/smoothly/p-edc714b6.entry.js.map +1 -0
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/dist/smoothly/smoothly.esm.js.map +1 -1
- package/dist/types/components/calendar/index.d.ts +4 -0
- package/dist/types/components/input/date/range/index.d.ts +1 -0
- package/dist/types/components/input/date/text/index.d.ts +1 -0
- package/dist/types/components.d.ts +5 -0
- package/package.json +1 -1
- package/dist/components/p-41e1bfbc.js.map +0 -1
- package/dist/components/p-4ba3e6d6.js.map +0 -1
- package/dist/components/p-67a1f9b0.js.map +0 -1
- package/dist/components/p-8021df9b.js.map +0 -1
- package/dist/smoothly/p-103b70cd.entry.js +0 -2
- package/dist/smoothly/p-103b70cd.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/input/date/text/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { getLocale } from \"../../../../model\"\nimport { DateFormat } from \"./DateFormat\"\nimport { InputSelection } from \"./InputSelection\"\n\n@Component({\n\ttag: \"smoothly-date-text\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateRangeText {\n\t@Element() element: HTMLElement\n\tprivate partElements: { [partIndex in number]: HTMLSpanElement | undefined } = {\n\t\t0: undefined,\n\t\t1: undefined,\n\t\t2: undefined,\n\t}\n\t@Prop() locale?: isoly.Locale = getLocale()\n\t@Prop({ reflect: true }) readonly: boolean\n\t@Prop({ reflect: true }) disabled: boolean\n\t@Prop({ reflect: true }) invalid: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() value?: isoly.Date // Only used for initial value\n\t@State() parts: DateFormat.Parts = {}\n\tprivate previousEmittedValue?: isoly.Date\n\t@State() order: DateFormat.Order\n\t@State() separator: DateFormat.Separator\n\t@State() focusedIndex?: number\n\t@Event() smoothlyDateTextHasText: EventEmitter<boolean>\n\t@Event() smoothlyDateTextChange: EventEmitter<isoly.Date | undefined>\n\t@Event() smoothlyDateTextFocusChange: EventEmitter<boolean>\n\t@Event() smoothlyDateTextDone: EventEmitter<void>\n\t@Event() smoothlyDateTextPrevious: EventEmitter<void>\n\t@Event() smoothlyDateTextNext: EventEmitter<void>\n\n\tcomponentWillLoad() {\n\t\tthis.order = DateFormat.Order.fromLocale(this.locale)\n\t\tthis.separator = DateFormat.Separator.fromLocale(this.locale)\n\t\tthis.parts = DateFormat.Parts.fromDate(this.value) ?? {}\n\t}\n\tcomponentDidLoad() {\n\t\tthis.updateInputs()\n\t}\n\n\t@Watch(\"parts\")\n\tpartsHandler() {\n\t\tconst value = DateFormat.Parts.toDate(this.parts)\n\t\tif (value != this.previousEmittedValue) {\n\t\t\tthis.smoothlyDateTextChange.emit(value)\n\t\t\tthis.previousEmittedValue = value\n\t\t}\n\t\tthis.smoothlyDateTextHasText.emit(Object.values(this.parts).some(part => !!part))\n\t}\n\t@Watch(\"focusedIndex\")\n\tfocusedIndexHandler() {\n\t\tthis.smoothlyDateTextFocusChange.emit(typeof this.focusedIndex == \"number\")\n\t}\n\n\t@Method()\n\tasync setValue(value: isoly.Date | undefined) {\n\t\tconst parts = DateFormat.Parts.fromDate(value)\n\t\tthis.setAllParts(parts)\n\t}\n\n\tsetAllParts(parts?: DateFormat.Parts) {\n\t\tthis.parts = parts ?? {}\n\t\tthis.updateInputs()\n\t}\n\tupdateInputs() {\n\t\tconst yearIndex = this.order.indexOf(\"Y\")\n\t\tconst monthIndex = this.order.indexOf(\"M\")\n\t\tconst dayIndex = this.order.indexOf(\"D\")\n\t\tthis.partElements[yearIndex] && (this.partElements[yearIndex]!.innerText = this.parts.Y ?? \"\")\n\t\tthis.partElements[monthIndex] && (this.partElements[monthIndex]!.innerText = this.parts.M ?? \"\")\n\t\tthis.partElements[dayIndex] && (this.partElements[dayIndex]!.innerText = this.parts.D ?? \"\")\n\t}\n\n\tsetPart(part: \"Y\" | \"M\" | \"D\", value: string | undefined) {\n\t\tthis.parts = {\n\t\t\t...this.parts,\n\t\t\t[part]: value,\n\t\t}\n\t\tconst index = this.order.indexOf(part)\n\t\tthis.partElements[index] && (this.partElements[index]!.innerText = value ?? \"\")\n\t}\n\n\t@Method()\n\tasync select(place: \"start\" | \"end\" = \"start\") {\n\t\tconst index = place == \"start\" ? 0 : 2\n\t\tthis.setFocus(index)\n\t}\n\t@Method()\n\tasync deselect() {\n\t\tthis.partElements[this.focusedIndex ?? 0]?.blur()\n\t}\n\n\tgetInnerText(target: EventTarget | null) {\n\t\treturn (target as HTMLSpanElement).innerText.replace(/\\n/g, \"\").replace(/\\D/g, \"\")\n\t}\n\n\t@Listen(\"beforeinput\")\n\tbeforeInputHandler(e: InputEvent) {\n\t\tconst part = this.order[this.focusedIndex ?? 0] as \"Y\" | \"M\" | \"D\"\n\t\tconst value = this.getInnerText(e.target)\n\t\tconst nonDigitData = e.data && /\\D/.test(e.data)\n\t\tconst isComplete = DateFormat.Part.isComplete(part, value)\n\t\tconst noRangedSelection = InputSelection.isCollapsed(e.target as HTMLElement)\n\t\tif (\n\t\t\t(e.inputType == \"insertText\" || e.inputType == \"insertFromPaste\") &&\n\t\t\t(nonDigitData || (isComplete && noRangedSelection))\n\t\t) {\n\t\t\te.preventDefault()\n\t\t}\n\t\tif (e.inputType == \"insertParagraph\" || e.inputType == \"insertLineBreak\") {\n\t\t\tthis.smoothlyDateTextDone.emit()\n\t\t\te.preventDefault()\n\t\t}\n\t}\n\n\t@Listen(\"input\", { capture: true })\n\tinputHandler(e: InputEvent) {\n\t\tconst part = DateFormat.Order.getPart(this.order, this.focusedIndex ?? 0)\n\t\tconst index = this.focusedIndex ?? 0\n\t\tconst value = this.getInnerText(e.target)\n\t\tthis.parts = {\n\t\t\t...this.parts,\n\t\t\t[part]: value,\n\t\t}\n\n\t\tif ([\"D\", \"M\"].includes(part)) {\n\t\t\tconst isDay = part == \"D\"\n\t\t\tconst max = isDay ? DateFormat.Parts.lastDay(this.parts) : 12\n\t\t\tconst singleDigitThreshold = isDay ? 3 : 1\n\t\t\tconst numberValue = parseInt(value)\n\t\t\tif (value.length >= 2) {\n\t\t\t\tthis.commitPart(part, numberValue, index, max)\n\t\t\t} else if (value.length == 1 && numberValue > singleDigitThreshold) {\n\t\t\t\tthis.autoAdvancePart(part, numberValue, index, max)\n\t\t\t}\n\t\t}\n\t\tif (DateFormat.Part.isComplete(part, value)) {\n\t\t\tthis.setFocus(index + 1)\n\t\t}\n\t\tconst roundedValue = DateFormat.Parts.toDate(this.parts)\n\t\tif (roundedValue) {\n\t\t\tconst roundedParts = DateFormat.Parts.fromDate(roundedValue)\n\t\t\tif (this.parts.D !== roundedParts?.D) {\n\t\t\t\tthis.setPart(\"D\", roundedParts?.D)\n\t\t\t}\n\t\t}\n\t}\n\tkeyDownHandler(e: KeyboardEvent) {\n\t\tconst text = this.getInnerText(e.target)\n\t\tconst index = this.focusedIndex ?? 0\n\t\tif (InputSelection.isAtStart(e) && e.key == \"ArrowLeft\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index - 1)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (InputSelection.isAtEnd(e) && e.key == \"ArrowRight\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index + 1)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (e.key == \"Home\" || e.key == \"ArrowUp\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(0)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (e.key == \"End\" || e.key == \"ArrowDown\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(2)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (InputSelection.isAtStart(e) && e.key == \"Backspace\" && text == \"\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index - 1)\n\t\t\te.preventDefault() // Prevent delete previous part\n\t\t} else if (InputSelection.isAtEnd(e) && e.key == \"Delete\" && text == \"\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index + 1)\n\t\t\te.preventDefault() // Prevent delete next part\n\t\t}\n\t}\n\n\tcommitPart(part: DateFormat.Part, value: number, index: number, max: number) {\n\t\tconst clamped = Math.max(1, Math.min(value, max))\n\t\tthis.setPart(part, clamped.toString().padStart(2, \"0\"))\n\t\tInputSelection.setPosition(this.partElements[index], 2)\n\t}\n\tautoAdvancePart(part: DateFormat.Part, value: number, index: number, max: number) {\n\t\tconst clamped = Math.max(1, Math.min(value, max))\n\t\tthis.setPart(part, clamped.toString().padStart(2, \"0\"))\n\t\tthis.setFocus(index + 1)\n\t}\n\n\tautoAdvanceIfPossible(index: number) {\n\t\tconst part = DateFormat.Order.getPart(this.order, index)\n\t\tconst value = this.parts[part] ?? \"\"\n\t\tif (part == \"D\" && value.length == 1) {\n\t\t\tthis.autoAdvancePart(part, parseInt(value), index, DateFormat.Parts.lastDay(this.parts))\n\t\t} else if (part == \"M\" && value.length == 1) {\n\t\t\tthis.autoAdvancePart(part, parseInt(value), index, 12)\n\t\t}\n\t}\n\n\tsetFocus(index: number) {\n\t\tif (index < 0) {\n\t\t\tthis.smoothlyDateTextPrevious.emit()\n\t\t} else if (index > 2) {\n\t\t\tthis.smoothlyDateTextNext.emit()\n\t\t} else {\n\t\t\tInputSelection.selectAll(this.partElements[index])\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={{ \"has-text\": Object.values(this.parts).some(part => !!part) }}>\n\t\t\t\t{DateFormat.Order.toArray(this.order).map((part, index) => (\n\t\t\t\t\t<span onClick={() => !this.readonly && !this.disabled && this.setFocus(index)}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"smoothly-date-text-part\": true,\n\t\t\t\t\t\t\t\t\"is-complete\": DateFormat.Part.isComplete(part, this.parts[part]),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonFocus={() => (this.focusedIndex = index)}\n\t\t\t\t\t\t\tonBlur={() => (this.focusedIndex = undefined)}\n\t\t\t\t\t\t\tonKeyDown={(e: KeyboardEvent) => this.keyDownHandler(e)}\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tref={el => (this.partElements[index] = el)}\n\t\t\t\t\t\t\tcontenteditable={!(this.readonly || this.disabled)}>\n\t\t\t\t\t\t\t{/* year or month or day written here */}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"guide\">{DateFormat.Part.getGuide(part, this.parts[part]?.length)}</span>\n\t\t\t\t\t\t{index < 2 && <span class=\"smoothly-date-separator\">{this.separator}</span>}\n\t\t\t\t\t</span>\n\t\t\t\t))}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/input/date/text/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { getLocale } from \"../../../../model\"\nimport { DateFormat } from \"./DateFormat\"\nimport { InputSelection } from \"./InputSelection\"\n\n@Component({\n\ttag: \"smoothly-date-text\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateRangeText {\n\t@Element() element: HTMLElement\n\tprivate partElements: { [partIndex in number]: HTMLSpanElement | undefined } = {\n\t\t0: undefined,\n\t\t1: undefined,\n\t\t2: undefined,\n\t}\n\t@Prop() locale?: isoly.Locale = getLocale()\n\t@Prop({ reflect: true }) readonly: boolean\n\t@Prop({ reflect: true }) disabled: boolean\n\t@Prop({ reflect: true }) invalid: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() value?: isoly.Date // Only used for initial value\n\t@State() parts: DateFormat.Parts = {}\n\tprivate previousEmittedValue?: isoly.Date\n\t@State() order: DateFormat.Order\n\t@State() separator: DateFormat.Separator\n\t@State() focusedIndex?: number\n\t@Event() smoothlyDateTextHasText: EventEmitter<boolean>\n\t@Event() smoothlyDateTextChange: EventEmitter<isoly.Date | undefined>\n\t@Event() smoothlyDateTextFocusChange: EventEmitter<boolean>\n\t@Event() smoothlyDateHasPartialDate: EventEmitter<DateFormat.Parts>\n\t@Event() smoothlyDateTextDone: EventEmitter<void>\n\t@Event() smoothlyDateTextPrevious: EventEmitter<void>\n\t@Event() smoothlyDateTextNext: EventEmitter<void>\n\n\tcomponentWillLoad() {\n\t\tthis.order = DateFormat.Order.fromLocale(this.locale)\n\t\tthis.separator = DateFormat.Separator.fromLocale(this.locale)\n\t\tthis.parts = DateFormat.Parts.fromDate(this.value) ?? {}\n\t}\n\tcomponentDidLoad() {\n\t\tthis.updateInputs()\n\t}\n\n\t@Watch(\"parts\")\n\tpartsHandler() {\n\t\tconst value = DateFormat.Parts.toDate(this.parts)\n\t\tif (value != this.previousEmittedValue) {\n\t\t\tthis.smoothlyDateTextChange.emit(value)\n\t\t\tthis.previousEmittedValue = value\n\t\t}\n\t\tthis.smoothlyDateTextHasText.emit(Object.values(this.parts).some(part => !!part))\n\t}\n\t@Watch(\"focusedIndex\")\n\tfocusedIndexHandler() {\n\t\tthis.smoothlyDateTextFocusChange.emit(typeof this.focusedIndex == \"number\")\n\t}\n\n\t@Method()\n\tasync setValue(value: isoly.Date | undefined) {\n\t\tconst parts = DateFormat.Parts.fromDate(value)\n\t\tthis.setAllParts(parts)\n\t}\n\n\tsetAllParts(parts?: DateFormat.Parts) {\n\t\tthis.parts = parts ?? {}\n\t\tthis.updateInputs()\n\t}\n\tupdateInputs() {\n\t\tconst yearIndex = this.order.indexOf(\"Y\")\n\t\tconst monthIndex = this.order.indexOf(\"M\")\n\t\tconst dayIndex = this.order.indexOf(\"D\")\n\t\tthis.partElements[yearIndex] && (this.partElements[yearIndex]!.innerText = this.parts.Y ?? \"\")\n\t\tthis.partElements[monthIndex] && (this.partElements[monthIndex]!.innerText = this.parts.M ?? \"\")\n\t\tthis.partElements[dayIndex] && (this.partElements[dayIndex]!.innerText = this.parts.D ?? \"\")\n\t}\n\n\tsetPart(part: \"Y\" | \"M\" | \"D\", value: string | undefined) {\n\t\tthis.parts = {\n\t\t\t...this.parts,\n\t\t\t[part]: value,\n\t\t}\n\t\tconst index = this.order.indexOf(part)\n\t\tthis.partElements[index] && (this.partElements[index]!.innerText = value ?? \"\")\n\t}\n\n\t@Method()\n\tasync select(place: \"start\" | \"end\" = \"start\") {\n\t\tconst index = place == \"start\" ? 0 : 2\n\t\tthis.setFocus(index)\n\t}\n\t@Method()\n\tasync deselect() {\n\t\tthis.partElements[this.focusedIndex ?? 0]?.blur()\n\t}\n\n\tgetInnerText(target: EventTarget | null) {\n\t\treturn (target as HTMLSpanElement).innerText.replace(/\\n/g, \"\").replace(/\\D/g, \"\")\n\t}\n\n\t@Listen(\"beforeinput\")\n\tbeforeInputHandler(e: InputEvent) {\n\t\tconst part = this.order[this.focusedIndex ?? 0] as \"Y\" | \"M\" | \"D\"\n\t\tconst value = this.getInnerText(e.target)\n\t\tconst nonDigitData = e.data && /\\D/.test(e.data)\n\t\tconst isComplete = DateFormat.Part.isComplete(part, value)\n\t\tconst noRangedSelection = InputSelection.isCollapsed(e.target as HTMLElement)\n\t\tif (\n\t\t\t(e.inputType == \"insertText\" || e.inputType == \"insertFromPaste\") &&\n\t\t\t(nonDigitData || (isComplete && noRangedSelection))\n\t\t) {\n\t\t\te.preventDefault()\n\t\t}\n\t\tif (e.inputType == \"insertParagraph\" || e.inputType == \"insertLineBreak\") {\n\t\t\tthis.smoothlyDateTextDone.emit()\n\t\t\te.preventDefault()\n\t\t}\n\t}\n\n\t@Listen(\"input\", { capture: true })\n\tinputHandler(e: InputEvent) {\n\t\tconst part = DateFormat.Order.getPart(this.order, this.focusedIndex ?? 0)\n\t\tconst index = this.focusedIndex ?? 0\n\t\tconst value = this.getInnerText(e.target)\n\t\tthis.parts = {\n\t\t\t...this.parts,\n\t\t\t[part]: value,\n\t\t}\n\n\t\tif ([\"D\", \"M\"].includes(part)) {\n\t\t\tconst isDay = part == \"D\"\n\t\t\tconst max = isDay ? DateFormat.Parts.lastDay(this.parts) : 12\n\t\t\tconst singleDigitThreshold = isDay ? 3 : 1\n\t\t\tconst numberValue = parseInt(value)\n\t\t\tif (value.length >= 2) {\n\t\t\t\tthis.commitPart(part, numberValue, index, max)\n\t\t\t} else if (value.length == 1 && numberValue > singleDigitThreshold) {\n\t\t\t\tthis.autoAdvancePart(part, numberValue, index, max)\n\t\t\t}\n\t\t}\n\t\tif (DateFormat.Part.isComplete(part, value)) {\n\t\t\tthis.setFocus(index + 1)\n\t\t}\n\t\tconst roundedValue = DateFormat.Parts.toDate(this.parts)\n\t\tif (roundedValue) {\n\t\t\tconst roundedParts = DateFormat.Parts.fromDate(roundedValue)\n\t\t\tif (this.parts.D !== roundedParts?.D) {\n\t\t\t\tthis.setPart(\"D\", roundedParts?.D)\n\t\t\t}\n\t\t}\n\t\tif (this.parts.Y || this.parts.M || this.parts.D)\n\t\t\tthis.smoothlyDateHasPartialDate.emit(this.parts)\n\t}\n\tkeyDownHandler(e: KeyboardEvent) {\n\t\tconst text = this.getInnerText(e.target)\n\t\tconst index = this.focusedIndex ?? 0\n\t\tif (InputSelection.isAtStart(e) && e.key == \"ArrowLeft\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index - 1)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (InputSelection.isAtEnd(e) && e.key == \"ArrowRight\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index + 1)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (e.key == \"Home\" || e.key == \"ArrowUp\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(0)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (e.key == \"End\" || e.key == \"ArrowDown\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(2)\n\t\t\te.preventDefault() // Keep selection\n\t\t} else if (InputSelection.isAtStart(e) && e.key == \"Backspace\" && text == \"\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index - 1)\n\t\t\te.preventDefault() // Prevent delete previous part\n\t\t} else if (InputSelection.isAtEnd(e) && e.key == \"Delete\" && text == \"\") {\n\t\t\tthis.autoAdvanceIfPossible(index)\n\t\t\tthis.setFocus(index + 1)\n\t\t\te.preventDefault() // Prevent delete next part\n\t\t}\n\t}\n\n\tcommitPart(part: DateFormat.Part, value: number, index: number, max: number) {\n\t\tconst clamped = Math.max(1, Math.min(value, max))\n\t\tthis.setPart(part, clamped.toString().padStart(2, \"0\"))\n\t\tInputSelection.setPosition(this.partElements[index], 2)\n\t}\n\tautoAdvancePart(part: DateFormat.Part, value: number, index: number, max: number) {\n\t\tconst clamped = Math.max(1, Math.min(value, max))\n\t\tthis.setPart(part, clamped.toString().padStart(2, \"0\"))\n\t\tthis.setFocus(index + 1)\n\t}\n\n\tautoAdvanceIfPossible(index: number) {\n\t\tconst part = DateFormat.Order.getPart(this.order, index)\n\t\tconst value = this.parts[part] ?? \"\"\n\t\tif (part == \"D\" && value.length == 1) {\n\t\t\tthis.autoAdvancePart(part, parseInt(value), index, DateFormat.Parts.lastDay(this.parts))\n\t\t} else if (part == \"M\" && value.length == 1) {\n\t\t\tthis.autoAdvancePart(part, parseInt(value), index, 12)\n\t\t}\n\t}\n\n\tsetFocus(index: number) {\n\t\tif (index < 0) {\n\t\t\tthis.smoothlyDateTextPrevious.emit()\n\t\t} else if (index > 2) {\n\t\t\tthis.smoothlyDateTextNext.emit()\n\t\t} else {\n\t\t\tInputSelection.selectAll(this.partElements[index])\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={{ \"has-text\": Object.values(this.parts).some(part => !!part) }}>\n\t\t\t\t{DateFormat.Order.toArray(this.order).map((part, index) => (\n\t\t\t\t\t<span onClick={() => !this.readonly && !this.disabled && this.setFocus(index)}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"smoothly-date-text-part\": true,\n\t\t\t\t\t\t\t\t\"is-complete\": DateFormat.Part.isComplete(part, this.parts[part]),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonFocus={() => (this.focusedIndex = index)}\n\t\t\t\t\t\t\tonBlur={() => (this.focusedIndex = undefined)}\n\t\t\t\t\t\t\tonKeyDown={(e: KeyboardEvent) => this.keyDownHandler(e)}\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tref={el => (this.partElements[index] = el)}\n\t\t\t\t\t\t\tcontenteditable={!(this.readonly || this.disabled)}>\n\t\t\t\t\t\t\t{/* year or month or day written here */}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span class=\"guide\">{DateFormat.Part.getGuide(part, this.parts[part]?.length)}</span>\n\t\t\t\t\t\t{index < 2 && <span class=\"smoothly-date-separator\">{this.separator}</span>}\n\t\t\t\t\t</span>\n\t\t\t\t))}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
@@ -6,11 +6,11 @@ import { N as Notice } from './p-ef01331e.js';
|
|
|
6
6
|
import './p-47ea6b68.js';
|
|
7
7
|
import { d as defineCustomElement$c } from './p-9a047645.js';
|
|
8
8
|
import { d as defineCustomElement$b } from './p-f49090bb.js';
|
|
9
|
-
import { d as defineCustomElement$a } from './p-
|
|
10
|
-
import { d as defineCustomElement$9 } from './p-
|
|
9
|
+
import { d as defineCustomElement$a } from './p-a0beace6.js';
|
|
10
|
+
import { d as defineCustomElement$9 } from './p-a396d0bd.js';
|
|
11
11
|
import { d as defineCustomElement$8 } from './p-ee2e6e07.js';
|
|
12
12
|
import { d as defineCustomElement$7 } from './p-81b41645.js';
|
|
13
|
-
import { d as defineCustomElement$6 } from './p-
|
|
13
|
+
import { d as defineCustomElement$6 } from './p-6a388393.js';
|
|
14
14
|
import { d as defineCustomElement$5 } from './p-f37f1d31.js';
|
|
15
15
|
import { d as defineCustomElement$4 } from './p-49691c3d.js';
|
|
16
16
|
import { d as defineCustomElement$3 } from './p-7943ff01.js';
|
|
@@ -123,4 +123,4 @@ defineCustomElement();
|
|
|
123
123
|
|
|
124
124
|
export { SmoothlyFormDemoDate as S, defineCustomElement as d };
|
|
125
125
|
|
|
126
|
-
//# sourceMappingURL=p-
|
|
126
|
+
//# sourceMappingURL=p-0d6dff46.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-0d6dff46.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,QAAQ,GAAG,8CAA8C,CAAC;AAChE,mCAAe,QAAQ;;MCSV,oBAAoB;IALjC;;;;QAOS,cAAS,GAAGA,MAAW,CAAuB;YACrD,IAAI,EAAEC,MAAW,CAAC,YAAY,EAAEC,IAAU,CAAC,EAAE,CAAC;SAC9C,CAAC,CAAA;KA6BF;IA5BA,MAAM,aAAa,CAAC,KAA0B;QAC7C,KAAK,CAAC,eAAe,EAAE,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAA;SACtD;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAA;YACvD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SACzB;QACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;KAC1B;IACD,MAAM;QACL,QACC,EAAC,IAAI,uDACJ,0EAAmB,EACnB,sEACC,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,oBAAoB,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAChD,4EAAqB,IAAI,EAAE,MAAM,IAAG,MAAM,CAAuB,EACjE,8EAAuB,IAAI,EAAE,QAAQ,IACpC,sEAAe,IAAI,EAAE,mBAAmB,GAAI,CACrB,CACT,CACV,EACP;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["isly.object","isly.fromIs","isoly.Date"],"sources":["src/components/form/demo/date/style.css?tag=smoothly-form-demo-date&encapsulation=scoped","src/components/form/demo/date/index.tsx"],"sourcesContent":[":host {\n\tdisplay: block;\n}\n","import { Component, Event, EventEmitter, h, Host, VNode } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { isly } from \"isly\"\nimport { Notice, Submit } from \"../../../../model\"\n\n@Component({\n\ttag: \"smoothly-form-demo-date\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyFormDemoDate {\n\t@Event() notice: EventEmitter<Notice>\n\tprivate validator = isly.object<{ date: isoly.Date }>({\n\t\tdate: isly.fromIs(\"isoly.Date\", isoly.Date.is),\n\t})\n\tasync submitHandler(event: CustomEvent<Submit>): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tif (!this.validator.is(event.detail.value)) {\n\t\t\tconsole.error(`Type is incomplete.`)\n\t\t\tthis.notice.emit(Notice.failed(`Type is incomplete.`))\n\t\t} else {\n\t\t\tthis.notice.emit(Notice.succeeded(`Type is complete!`))\n\t\t\tevent.detail.result(true)\n\t\t}\n\t\tevent.detail.result(false)\n\t}\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<h2>Date input</h2>\n\t\t\t\t<smoothly-form\n\t\t\t\t\tlooks={\"border\"}\n\t\t\t\t\ttype={\"create\"}\n\t\t\t\t\tvalidator={this.validator}\n\t\t\t\t\tonSmoothlyFormSubmit={e => this.submitHandler(e)}>\n\t\t\t\t\t<smoothly-input-date name={\"date\"}>{\"Date\"}</smoothly-input-date>\n\t\t\t\t\t<smoothly-input-submit slot={\"submit\"}>\n\t\t\t\t\t\t<smoothly-icon name={\"checkmark-outline\"} />\n\t\t\t\t\t</smoothly-input-submit>\n\t\t\t\t</smoothly-form>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { D as Date, a as DateTime } from './p-390767c7.js';
|
|
3
3
|
import { d as defineCustomElement$m } from './p-9a047645.js';
|
|
4
|
-
import { d as defineCustomElement$l } from './p-
|
|
5
|
-
import { d as defineCustomElement$k } from './p-
|
|
4
|
+
import { d as defineCustomElement$l } from './p-a0beace6.js';
|
|
5
|
+
import { d as defineCustomElement$k } from './p-a396d0bd.js';
|
|
6
6
|
import { d as defineCustomElement$j } from './p-9e2ee779.js';
|
|
7
7
|
import { d as defineCustomElement$i } from './p-4e754f3b.js';
|
|
8
8
|
import { d as defineCustomElement$h } from './p-f893b6cc.js';
|
|
@@ -12,9 +12,9 @@ import { d as defineCustomElement$e } from './p-81b41645.js';
|
|
|
12
12
|
import { d as defineCustomElement$d } from './p-3e41512a.js';
|
|
13
13
|
import { d as defineCustomElement$c } from './p-776f0f47.js';
|
|
14
14
|
import { d as defineCustomElement$b } from './p-4de813ea.js';
|
|
15
|
-
import { d as defineCustomElement$a } from './p-
|
|
16
|
-
import { d as defineCustomElement$9 } from './p-
|
|
17
|
-
import { d as defineCustomElement$8 } from './p-
|
|
15
|
+
import { d as defineCustomElement$a } from './p-6a388393.js';
|
|
16
|
+
import { d as defineCustomElement$9 } from './p-6c6672ff.js';
|
|
17
|
+
import { d as defineCustomElement$8 } from './p-4b7c29bb.js';
|
|
18
18
|
import { d as defineCustomElement$7 } from './p-f37f1d31.js';
|
|
19
19
|
import { d as defineCustomElement$6 } from './p-55a6fa56.js';
|
|
20
20
|
import { d as defineCustomElement$5 } from './p-8cacced6.js';
|
|
@@ -192,4 +192,4 @@ defineCustomElement();
|
|
|
192
192
|
|
|
193
193
|
export { SmoothlyInputDemoUserInput as S, defineCustomElement as d };
|
|
194
194
|
|
|
195
|
-
//# sourceMappingURL=p-
|
|
195
|
+
//# sourceMappingURL=p-0f3588fe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-c9907679.js","mappings":"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","names":["isoly.Date","isoly.DateTime"],"sources":["src/components/input/demo/user-input/style.css?tag=smoothly-input-demo-user-input&encapsulation=scoped","src/components/input/demo/user-input/index.tsx"],"sourcesContent":[":host {\n\tmax-width: min(100%, 56rem);\n\tmargin-inline: auto;\n\tdisplay: grid;\n\tgrid-template-columns: 12rem 1fr;\n\tgap: 1rem;\n}\n:host > div {\n\tgrid-column: 1 / -1;\n}\n","import { Component, h, Host, State } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\n\n@Component({\n\ttag: \"smoothly-input-demo-user-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDemoUserInput {\n\tprivate readonly values = [\"zero\", \"one\", \"two\", \"three\", \"four\", \"five\"]\n\t@State() textIndex?: number\n\t@State() selectIndex?: number\n\t@State() checkboxChecked: boolean\n\t@State() radioIndex?: number\n\t@State() rangeValue?: number\n\tprivate readonly colors = [\"#ff0000\", \"#00ff00\", \"#0000ff\", \"#ffff00\", \"#00ffff\", \"#ff00ff\"]\n\t@State() colorIndex?: number\n\t@State() dateValue?: isoly.Date\n\t@State() datetimeValue?: isoly.DateTime\n\t@State() dateRangeValue?: isoly.DateRange\n\n\tincrement(index?: number): number {\n\t\treturn index === undefined ? 0 : (index + 1) % this.values.length\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<h2>User Input Event</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tThese inputs demonstrate how user input is handled. The <code>smoothlyUserInput</code> event fires only when\n\t\t\t\t\t\tthe user interacts with an input, not when its value is changed programmatically (such as by clicking the\n\t\t\t\t\t\tbuttons above).\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tCheck the console to see the details of each <code>smoothlyUserInput</code> event.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.textIndex = this.increment(this.textIndex))}>\n\t\t\t\t\tChange text\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-text\"\n\t\t\t\t\tvalue={this.textIndex === undefined ? \"\" : this.values[this.textIndex]}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tText input\n\t\t\t\t</smoothly-input>\n\n\t\t\t\t<smoothly-button onClick={() => (this.selectIndex = this.increment(this.selectIndex))} color=\"tertiary\">\n\t\t\t\t\tNext select item\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-select\"\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\t<span slot=\"label\">Select input</span>\n\t\t\t\t\t{this.values.map((value, index) => (\n\t\t\t\t\t\t<smoothly-item value={index} selected={index == this.selectIndex}>\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-select>\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.checkboxChecked = !this.checkboxChecked)}>\n\t\t\t\t\tToggle checkbox\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-checkbox\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-checkbox\"\n\t\t\t\t\tchecked={this.checkboxChecked}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tCheckbox input\n\t\t\t\t</smoothly-input-checkbox>\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.radioIndex = this.increment(this.radioIndex))}>\n\t\t\t\t\tNext radio item\n\t\t\t\t</smoothly-button>\n\t\t\t\t{/* Bug: radio has bugs when changing programmatically - TODO: consider changing to using a regular radio input as underlying controls */}\n\t\t\t\t<smoothly-input-radio\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-radio\"\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\t<span slot=\"label\">Radio input</span>\n\t\t\t\t\t{this.values.map((value, index) => (\n\t\t\t\t\t\t<smoothly-input-radio-item value={value} selected={index == this.radioIndex}>\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</smoothly-input-radio-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-radio>\n\n\t\t\t\t{/* Not sure how to test smoothly-input-file */}\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.rangeValue = this.increment(this.rangeValue))}>\n\t\t\t\t\tNext range value\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-range\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-range\"\n\t\t\t\t\tstep={1}\n\t\t\t\t\tmin={0}\n\t\t\t\t\tmax={this.values.length}\n\t\t\t\t\tvalue={this.rangeValue}\n\t\t\t\t\tlabel={\"Range Input\"}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}\n\t\t\t\t/>\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.colorIndex = this.increment(this.colorIndex))}>\n\t\t\t\t\tNext color\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-color\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-color\"\n\t\t\t\t\tvalue={typeof this.colorIndex == \"number\" ? this.colors[this.colorIndex] : undefined}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tColor input\n\t\t\t\t</smoothly-input-color>\n\n\t\t\t\t<smoothly-button\n\t\t\t\t\tcolor=\"tertiary\"\n\t\t\t\t\tonClick={() => (this.dateValue = this.dateValue ? isoly.Date.next(this.dateValue) : isoly.Date.now())}>\n\t\t\t\t\tNext day\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-date\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-date\"\n\t\t\t\t\tvalue={this.dateValue}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tDate input\n\t\t\t\t</smoothly-input-date>\n\n\t\t\t\t<smoothly-button\n\t\t\t\t\tcolor=\"tertiary\"\n\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t(this.datetimeValue = this.datetimeValue\n\t\t\t\t\t\t\t? isoly.DateTime.nextDay(this.datetimeValue)\n\t\t\t\t\t\t\t: isoly.DateTime.now())\n\t\t\t\t\t}>\n\t\t\t\t\tNext date time\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-date-time\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-datetime\"\n\t\t\t\t\tvalue={this.datetimeValue}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tDate time input\n\t\t\t\t</smoothly-input-date-time>\n\n\t\t\t\t<smoothly-button\n\t\t\t\t\tcolor=\"tertiary\"\n\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t(this.dateRangeValue = this.dateRangeValue\n\t\t\t\t\t\t\t? { start: isoly.Date.next(this.dateRangeValue.start), end: isoly.Date.next(this.dateRangeValue.end) }\n\t\t\t\t\t\t\t: { start: isoly.Date.now(), end: isoly.Date.next(isoly.Date.now(), 10) })\n\t\t\t\t\t}>\n\t\t\t\t\tNext date range\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-date-range\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-daterange\"\n\t\t\t\t\tstart={this.dateRangeValue?.start}\n\t\t\t\t\tend={this.dateRangeValue?.end}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tDate range input\n\t\t\t\t</smoothly-input-date-range>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-0f3588fe.js","mappings":"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","names":["isoly.Date","isoly.DateTime"],"sources":["src/components/input/demo/user-input/style.css?tag=smoothly-input-demo-user-input&encapsulation=scoped","src/components/input/demo/user-input/index.tsx"],"sourcesContent":[":host {\n\tmax-width: min(100%, 56rem);\n\tmargin-inline: auto;\n\tdisplay: grid;\n\tgrid-template-columns: 12rem 1fr;\n\tgap: 1rem;\n}\n:host > div {\n\tgrid-column: 1 / -1;\n}\n","import { Component, h, Host, State } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\n\n@Component({\n\ttag: \"smoothly-input-demo-user-input\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDemoUserInput {\n\tprivate readonly values = [\"zero\", \"one\", \"two\", \"three\", \"four\", \"five\"]\n\t@State() textIndex?: number\n\t@State() selectIndex?: number\n\t@State() checkboxChecked: boolean\n\t@State() radioIndex?: number\n\t@State() rangeValue?: number\n\tprivate readonly colors = [\"#ff0000\", \"#00ff00\", \"#0000ff\", \"#ffff00\", \"#00ffff\", \"#ff00ff\"]\n\t@State() colorIndex?: number\n\t@State() dateValue?: isoly.Date\n\t@State() datetimeValue?: isoly.DateTime\n\t@State() dateRangeValue?: isoly.DateRange\n\n\tincrement(index?: number): number {\n\t\treturn index === undefined ? 0 : (index + 1) % this.values.length\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<h2>User Input Event</h2>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tThese inputs demonstrate how user input is handled. The <code>smoothlyUserInput</code> event fires only when\n\t\t\t\t\t\tthe user interacts with an input, not when its value is changed programmatically (such as by clicking the\n\t\t\t\t\t\tbuttons above).\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tCheck the console to see the details of each <code>smoothlyUserInput</code> event.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.textIndex = this.increment(this.textIndex))}>\n\t\t\t\t\tChange text\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-text\"\n\t\t\t\t\tvalue={this.textIndex === undefined ? \"\" : this.values[this.textIndex]}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tText input\n\t\t\t\t</smoothly-input>\n\n\t\t\t\t<smoothly-button onClick={() => (this.selectIndex = this.increment(this.selectIndex))} color=\"tertiary\">\n\t\t\t\t\tNext select item\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-select\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-select\"\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\t<span slot=\"label\">Select input</span>\n\t\t\t\t\t{this.values.map((value, index) => (\n\t\t\t\t\t\t<smoothly-item value={index} selected={index == this.selectIndex}>\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-select>\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.checkboxChecked = !this.checkboxChecked)}>\n\t\t\t\t\tToggle checkbox\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-checkbox\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-checkbox\"\n\t\t\t\t\tchecked={this.checkboxChecked}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tCheckbox input\n\t\t\t\t</smoothly-input-checkbox>\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.radioIndex = this.increment(this.radioIndex))}>\n\t\t\t\t\tNext radio item\n\t\t\t\t</smoothly-button>\n\t\t\t\t{/* Bug: radio has bugs when changing programmatically - TODO: consider changing to using a regular radio input as underlying controls */}\n\t\t\t\t<smoothly-input-radio\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-radio\"\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\t<span slot=\"label\">Radio input</span>\n\t\t\t\t\t{this.values.map((value, index) => (\n\t\t\t\t\t\t<smoothly-input-radio-item value={value} selected={index == this.radioIndex}>\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</smoothly-input-radio-item>\n\t\t\t\t\t))}\n\t\t\t\t</smoothly-input-radio>\n\n\t\t\t\t{/* Not sure how to test smoothly-input-file */}\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.rangeValue = this.increment(this.rangeValue))}>\n\t\t\t\t\tNext range value\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-range\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-range\"\n\t\t\t\t\tstep={1}\n\t\t\t\t\tmin={0}\n\t\t\t\t\tmax={this.values.length}\n\t\t\t\t\tvalue={this.rangeValue}\n\t\t\t\t\tlabel={\"Range Input\"}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}\n\t\t\t\t/>\n\n\t\t\t\t<smoothly-button color=\"tertiary\" onClick={() => (this.colorIndex = this.increment(this.colorIndex))}>\n\t\t\t\t\tNext color\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-color\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-color\"\n\t\t\t\t\tvalue={typeof this.colorIndex == \"number\" ? this.colors[this.colorIndex] : undefined}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tColor input\n\t\t\t\t</smoothly-input-color>\n\n\t\t\t\t<smoothly-button\n\t\t\t\t\tcolor=\"tertiary\"\n\t\t\t\t\tonClick={() => (this.dateValue = this.dateValue ? isoly.Date.next(this.dateValue) : isoly.Date.now())}>\n\t\t\t\t\tNext day\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-date\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-date\"\n\t\t\t\t\tvalue={this.dateValue}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tDate input\n\t\t\t\t</smoothly-input-date>\n\n\t\t\t\t<smoothly-button\n\t\t\t\t\tcolor=\"tertiary\"\n\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t(this.datetimeValue = this.datetimeValue\n\t\t\t\t\t\t\t? isoly.DateTime.nextDay(this.datetimeValue)\n\t\t\t\t\t\t\t: isoly.DateTime.now())\n\t\t\t\t\t}>\n\t\t\t\t\tNext date time\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-date-time\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-datetime\"\n\t\t\t\t\tvalue={this.datetimeValue}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tDate time input\n\t\t\t\t</smoothly-input-date-time>\n\n\t\t\t\t<smoothly-button\n\t\t\t\t\tcolor=\"tertiary\"\n\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t(this.dateRangeValue = this.dateRangeValue\n\t\t\t\t\t\t\t? { start: isoly.Date.next(this.dateRangeValue.start), end: isoly.Date.next(this.dateRangeValue.end) }\n\t\t\t\t\t\t\t: { start: isoly.Date.now(), end: isoly.Date.next(isoly.Date.now(), 10) })\n\t\t\t\t\t}>\n\t\t\t\t\tNext date range\n\t\t\t\t</smoothly-button>\n\t\t\t\t<smoothly-input-date-range\n\t\t\t\t\tlooks=\"border\"\n\t\t\t\t\tname=\"demo-user-input-daterange\"\n\t\t\t\t\tstart={this.dateRangeValue?.start}\n\t\t\t\t\tend={this.dateRangeValue?.end}\n\t\t\t\t\tonSmoothlyUserInput={e => console.debug(e.type, e.detail.name, e.detail.value)}>\n\t\t\t\t\tDate range input\n\t\t\t\t</smoothly-input-date-range>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -2,7 +2,7 @@ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-
|
|
|
2
2
|
import { a as DateTime } from './p-390767c7.js';
|
|
3
3
|
import { E as Editable } from './p-ddd5bc95.js';
|
|
4
4
|
import { I as Input } from './p-ee2e6e07.js';
|
|
5
|
-
import { d as defineCustomElement$6 } from './p-
|
|
5
|
+
import { d as defineCustomElement$6 } from './p-a0beace6.js';
|
|
6
6
|
import { d as defineCustomElement$5 } from './p-81b41645.js';
|
|
7
7
|
import { d as defineCustomElement$4 } from './p-3e41512a.js';
|
|
8
8
|
import { d as defineCustomElement$3 } from './p-f37f1d31.js';
|
|
@@ -243,4 +243,4 @@ defineCustomElement();
|
|
|
243
243
|
|
|
244
244
|
export { SmoothlyInputDateTime as S, defineCustomElement as d };
|
|
245
245
|
|
|
246
|
-
//# sourceMappingURL=p-
|
|
246
|
+
//# sourceMappingURL=p-4b7c29bb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-301216fa.js","mappings":"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","names":["isoly.DateTime"],"sources":["src/components/input/date/time/style.css?tag=smoothly-input-date-time&encapsulation=scoped","src/components/input/date/time/index.tsx"],"sourcesContent":["@import \"../../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\tmax-width: 100vw;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tbox-sizing: border-box;\n\tmin-height: var(--input-min-height);\n}\n\n:host>smoothly-input {\n\t--input-min-height: calc(var(--input-min-height) - 2px);\n\t--smoothly-input-border-focus: none;\n}\n\n:host:not([readonly])>smoothly-input>div>input {\n\tcursor: pointer;\n}\n\n:host[disabled],\n:host[disabled]>smoothly-input>div>input {\n\tcursor: not-allowed;\n}\n\n:host[looks=transparent] smoothly-input {\n\toutline: none;\n}\n\n:host>smoothly-calendar {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 4rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tmin-width: 18rem;\n\tmax-width: 22rem;\n}\n\n:host>smoothly-calendar::before {\n\tcontent: \"\";\n\tbox-sizing: border-box;\n\tposition: absolute;\n\ttop: -0.55rem;\n\tleft: 2rem;\n\tz-index: 9;\n\ttransform: rotate(45deg);\n\twidth: 1rem;\n\theight: 1rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tborder-top: 1px solid rgb(var(--smoothly-input-border));\n\tborder-left: 1px solid rgb(var(--smoothly-input-border));\n}\n\n:host>span.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n:host>smoothly-input[name=\"date\"] {\n\twidth: 12rem;\n}\n:host>smoothly-input[name=\"hour\"] {\n\twidth: 4rem;\n}\n:host>smoothly-input[name=\"minute\"] {\n\tmin-width: 4rem;\n\tflex-grow: 1;\n}\n:host>span.colon {\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n}\n:host>.icons>.smoothly-invalid {\n\tdisplay: none;\n\tz-index: 2;\n\tcursor: pointer;\n\tpadding: 0.5rem;\n}\n:host[invalid]>.icons>.smoothly-invalid {\n\tdisplay: flex;\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Color } from \"../../../../model\"\nimport { Clearable } from \"../../Clearable\"\nimport { Editable } from \"../../Editable\"\nimport { Input } from \"../../Input\"\nimport { Looks } from \"../../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-date-time\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateTime implements ComponentWillLoad, Clearable, Input, Editable {\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled?: boolean\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\tparent: Editable | undefined\n\tisDifferentFromInitial = false\n\tprivate initialValue?: isoly.DateTime\n\tprivate observer = Editable.Observer.create(this)\n\t@Prop({ mutable: true }) value?: isoly.DateTime\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() min?: isoly.DateTime\n\t@Prop() max?: isoly.DateTime\n\t@State() date?: isoly.Date\n\t@State() hour?: number\n\t@State() minute?: number\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyValueChange: EventEmitter<isoly.DateTime>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Event() smoothlyUserInput: EventEmitter<Input.UserInput>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\n\tcomponentWillLoad(): void {\n\t\tthis.setInitialValue()\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t\tthis.valueChange(this.value)\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.DateTime | undefined> {\n\t\tconst value =\n\t\t\tthis.date && typeof this.hour == \"number\" && typeof this.minute == \"number\"\n\t\t\t\t? `${this.date}T${`${this.hour}`.padStart(2, \"0\")}:${`${this.minute}`.padStart(2, \"0\")}:00.000Z`\n\t\t\t\t: undefined\n\t\treturn isoly.DateTime.is(value) ? value : undefined\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t\tthis.date = undefined\n\t\tthis.hour = undefined\n\t\tthis.minute = undefined\n\t}\n\n\t@Watch(\"date\")\n\t@Watch(\"hour\")\n\t@Watch(\"minute\")\n\tasync handleChange() {\n\t\tconst value = await this.getValue()\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\n\t@Watch(\"value\")\n\tvalueChange(value?: isoly.DateTime) {\n\t\tif (isoly.DateTime.is(value)) {\n\t\t\tthis.date = isoly.DateTime.getDate(value)\n\t\t\tthis.hour = isoly.DateTime.getHour(value)\n\t\t\tthis.minute = isoly.DateTime.getMinute(value)\n\t\t}\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tsmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputDateTime) => void>): void {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && (this.open = !this.open)\n\t}\n\t@Method()\n\tasync edit(editable: boolean) {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset() {\n\t\tif (isoly.DateTime.is(this.initialValue)) {\n\t\t\tthis.date = isoly.DateTime.getDate(this.initialValue)\n\t\t\tthis.hour = isoly.DateTime.getHour(this.initialValue)\n\t\t\tthis.minute = isoly.DateTime.getMinute(this.initialValue)\n\t\t} else {\n\t\t\tthis.date = undefined\n\t\t\tthis.hour = undefined\n\t\t\tthis.minute = undefined\n\t\t}\n\t}\n\t@Method()\n\tasync setInitialValue() {\n\t\tthis.initialValue = await this.getValue()\n\t\tthis.isDifferentFromInitial = false\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tlooks={this.looks == \"transparent\" ? this.looks : undefined}\n\t\t\t\t\tname={\"date\"}\n\t\t\t\t\tonFocus={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\tonClick={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tvalue={this.date}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.date = e.detail.date\n\t\t\t\t\t}}\n\t\t\t\t\tonSmoothlyUserInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t}}>\n\t\t\t\t\t<slot />\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"hour\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={23}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.hour}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.hour = e.detail.hour\n\t\t\t\t\t}}\n\t\t\t\t\tonSmoothlyUserInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"colon\">:</span>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"minute\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={59}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.minute}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.minute = e.detail.minute\n\t\t\t\t\t}}\n\t\t\t\t\tonSmoothlyUserInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"icons\">\n\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\tclass=\"smoothly-invalid\"\n\t\t\t\t\t\tname=\"alert-circle\"\n\t\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ttooltip={this.errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t<slot name={\"end\"} />\n\t\t\t\t</span>\n\t\t\t\t{this.open && !this.readonly && (\n\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\tdoubleInput={false}\n\t\t\t\t\t\tvalue={this.value ? isoly.DateTime.getDate(this.value) : undefined}\n\t\t\t\t\t\tmin={this.min ? isoly.DateTime.getDate(this.min) : undefined}\n\t\t\t\t\t\tmax={this.max ? isoly.DateTime.getDate(this.max) : undefined}\n\t\t\t\t\t\tonSmoothlyValueChange={async e => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.date = e.detail\n\t\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonSmoothlyDateSet={e => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div slot={\"year-label\"}>\n\t\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div slot={\"month-label\"}>\n\t\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-calendar>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-4b7c29bb.js","mappings":"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","names":["isoly.DateTime"],"sources":["src/components/input/date/time/style.css?tag=smoothly-input-date-time&encapsulation=scoped","src/components/input/date/time/index.tsx"],"sourcesContent":["@import \"../../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\tmax-width: 100vw;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tbox-sizing: border-box;\n\tmin-height: var(--input-min-height);\n}\n\n:host>smoothly-input {\n\t--input-min-height: calc(var(--input-min-height) - 2px);\n\t--smoothly-input-border-focus: none;\n}\n\n:host:not([readonly])>smoothly-input>div>input {\n\tcursor: pointer;\n}\n\n:host[disabled],\n:host[disabled]>smoothly-input>div>input {\n\tcursor: not-allowed;\n}\n\n:host[looks=transparent] smoothly-input {\n\toutline: none;\n}\n\n:host>smoothly-calendar {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 4rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tmin-width: 18rem;\n\tmax-width: 22rem;\n}\n\n:host>smoothly-calendar::before {\n\tcontent: \"\";\n\tbox-sizing: border-box;\n\tposition: absolute;\n\ttop: -0.55rem;\n\tleft: 2rem;\n\tz-index: 9;\n\ttransform: rotate(45deg);\n\twidth: 1rem;\n\theight: 1rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tborder-top: 1px solid rgb(var(--smoothly-input-border));\n\tborder-left: 1px solid rgb(var(--smoothly-input-border));\n}\n\n:host>span.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n:host>smoothly-input[name=\"date\"] {\n\twidth: 12rem;\n}\n:host>smoothly-input[name=\"hour\"] {\n\twidth: 4rem;\n}\n:host>smoothly-input[name=\"minute\"] {\n\tmin-width: 4rem;\n\tflex-grow: 1;\n}\n:host>span.colon {\n\tpadding: \n\t\tvar(--input-value-padding-top) \n\t\tvar(--input-padding-side) \n\t\tvar(--input-value-padding-bottom) \n\t\tvar(--input-padding-side);\n}\n:host>.icons>.smoothly-invalid {\n\tdisplay: none;\n\tz-index: 2;\n\tcursor: pointer;\n\tpadding: 0.5rem;\n}\n:host[invalid]>.icons>.smoothly-invalid {\n\tdisplay: flex;\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Color } from \"../../../../model\"\nimport { Clearable } from \"../../Clearable\"\nimport { Editable } from \"../../Editable\"\nimport { Input } from \"../../Input\"\nimport { Looks } from \"../../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-date-time\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateTime implements ComponentWillLoad, Clearable, Input, Editable {\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled?: boolean\n\t@Prop({ reflect: true }) invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\tparent: Editable | undefined\n\tisDifferentFromInitial = false\n\tprivate initialValue?: isoly.DateTime\n\tprivate observer = Editable.Observer.create(this)\n\t@Prop({ mutable: true }) value?: isoly.DateTime\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop() min?: isoly.DateTime\n\t@Prop() max?: isoly.DateTime\n\t@State() date?: isoly.Date\n\t@State() hour?: number\n\t@State() minute?: number\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyValueChange: EventEmitter<isoly.DateTime>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Event() smoothlyUserInput: EventEmitter<Input.UserInput>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\n\tcomponentWillLoad(): void {\n\t\tthis.setInitialValue()\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t\tthis.valueChange(this.value)\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.DateTime | undefined> {\n\t\tconst value =\n\t\t\tthis.date && typeof this.hour == \"number\" && typeof this.minute == \"number\"\n\t\t\t\t? `${this.date}T${`${this.hour}`.padStart(2, \"0\")}:${`${this.minute}`.padStart(2, \"0\")}:00.000Z`\n\t\t\t\t: undefined\n\t\treturn isoly.DateTime.is(value) ? value : undefined\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t\tthis.date = undefined\n\t\tthis.hour = undefined\n\t\tthis.minute = undefined\n\t}\n\n\t@Watch(\"date\")\n\t@Watch(\"hour\")\n\t@Watch(\"minute\")\n\tasync handleChange() {\n\t\tconst value = await this.getValue()\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\n\t@Watch(\"value\")\n\tvalueChange(value?: isoly.DateTime) {\n\t\tif (isoly.DateTime.is(value)) {\n\t\t\tthis.date = isoly.DateTime.getDate(value)\n\t\t\tthis.hour = isoly.DateTime.getHour(value)\n\t\t\tthis.minute = isoly.DateTime.getMinute(value)\n\t\t}\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tsmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputDateTime) => void>): void {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && (this.open = !this.open)\n\t}\n\t@Method()\n\tasync edit(editable: boolean) {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset() {\n\t\tif (isoly.DateTime.is(this.initialValue)) {\n\t\t\tthis.date = isoly.DateTime.getDate(this.initialValue)\n\t\t\tthis.hour = isoly.DateTime.getHour(this.initialValue)\n\t\t\tthis.minute = isoly.DateTime.getMinute(this.initialValue)\n\t\t} else {\n\t\t\tthis.date = undefined\n\t\t\tthis.hour = undefined\n\t\t\tthis.minute = undefined\n\t\t}\n\t}\n\t@Method()\n\tasync setInitialValue() {\n\t\tthis.initialValue = await this.getValue()\n\t\tthis.isDifferentFromInitial = false\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tcolor={this.color}\n\t\t\t\t\tlooks={this.looks == \"transparent\" ? this.looks : undefined}\n\t\t\t\t\tname={\"date\"}\n\t\t\t\t\tonFocus={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\tonClick={() => !this.readonly && !this.disabled && (this.open = !this.open)}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tvalue={this.date}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.date = e.detail.date\n\t\t\t\t\t}}\n\t\t\t\t\tonSmoothlyUserInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t}}>\n\t\t\t\t\t<slot />\n\t\t\t\t</smoothly-input>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"hour\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={23}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.hour}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.hour = e.detail.hour\n\t\t\t\t\t}}\n\t\t\t\t\tonSmoothlyUserInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"colon\">:</span>\n\t\t\t\t<smoothly-input\n\t\t\t\t\tname=\"minute\"\n\t\t\t\t\ttype=\"integer\"\n\t\t\t\t\tmax={59}\n\t\t\t\t\tpad={2}\n\t\t\t\t\tvalue={this.minute}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\tonSmoothlyInputLoad={e => e.stopPropagation()}\n\t\t\t\t\tonSmoothlyInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.minute = e.detail.minute\n\t\t\t\t\t}}\n\t\t\t\t\tonSmoothlyUserInput={async e => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<span class=\"icons\">\n\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\tclass=\"smoothly-invalid\"\n\t\t\t\t\t\tname=\"alert-circle\"\n\t\t\t\t\t\tcolor=\"danger\"\n\t\t\t\t\t\tfill=\"clear\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ttooltip={this.errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t<slot name={\"end\"} />\n\t\t\t\t</span>\n\t\t\t\t{this.open && !this.readonly && (\n\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\tdoubleInput={false}\n\t\t\t\t\t\tvalue={this.value ? isoly.DateTime.getDate(this.value) : undefined}\n\t\t\t\t\t\tmin={this.min ? isoly.DateTime.getDate(this.min) : undefined}\n\t\t\t\t\t\tmax={this.max ? isoly.DateTime.getDate(this.max) : undefined}\n\t\t\t\t\t\tonSmoothlyValueChange={async e => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.date = e.detail\n\t\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonSmoothlyDateSet={e => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div slot={\"year-label\"}>\n\t\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div slot={\"month-label\"}>\n\t\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-calendar>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { E as Editable } from './p-ddd5bc95.js';
|
|
3
3
|
import { I as Input } from './p-ee2e6e07.js';
|
|
4
|
-
import { d as defineCustomElement$6 } from './p-
|
|
5
|
-
import { d as defineCustomElement$5 } from './p-
|
|
4
|
+
import { d as defineCustomElement$6 } from './p-a0beace6.js';
|
|
5
|
+
import { d as defineCustomElement$5 } from './p-a396d0bd.js';
|
|
6
6
|
import { d as defineCustomElement$4 } from './p-81b41645.js';
|
|
7
7
|
import { d as defineCustomElement$3 } from './p-f37f1d31.js';
|
|
8
8
|
import { d as defineCustomElement$2 } from './p-49691c3d.js';
|
|
@@ -132,7 +132,7 @@ const SmoothlyInputDate = proxyCustomElement(class SmoothlyInputDate extends H {
|
|
|
132
132
|
event.stopPropagation();
|
|
133
133
|
}
|
|
134
134
|
render() {
|
|
135
|
-
return (h(Host, { key: '
|
|
135
|
+
return (h(Host, { key: '9b956b0898976d82dca4d7ce284235e22b7f1639', tabindex: this.disabled ? undefined : 0, class: { "has-value": !!this.value, "has-text": this.hasText, "floating-label": this.alwaysShowGuide }, onClick: (e) => this.onClick(e) }, h("slot", { key: '6d9fd3c4c21eb854e247c9f57436b0c80ba94649', name: "start" }), h("label", { key: 'dcbfd90e319330ed9ae4c0d1d813bc2b9c9e5812', class: "label float-on-focus" }, h("slot", { key: 'fcf57fd7e6872ded6844fc335ab1b77cfe835e49' })), this.placeholder && h("span", { key: 'c12b142bebcbc9ae0e4eaf44726d638dd2687dc8', class: "smoothly-date-placeholder" }, this.placeholder), h("smoothly-date-text", { key: 'af65140586d9c3eb57e0c3c3537b2be3ececeae7', ref: el => (this.dateTextElement = el), locale: this.locale, readonly: this.readonly, disabled: this.disabled, showLabel: this.showLabel, value: this.value, onSmoothlyDateTextHasText: e => (e.stopPropagation(), (this.hasText = e.detail)), onSmoothlyDateTextFocusChange: e => (e.stopPropagation(), (this.hasFocus = e.detail)), onSmoothlyDateHasPartialDate: e => { var _a; return (e.stopPropagation(), (_a = this.calendarElement) === null || _a === void 0 ? void 0 : _a.jumpTo(e.detail)); }, onSmoothlyDateTextChange: e => (e.stopPropagation(), this.onUserChangedValue(e)), onSmoothlyDateTextDone: e => { var _a; return (e.stopPropagation(), (this.open = false), (_a = this.dateTextElement) === null || _a === void 0 ? void 0 : _a.deselect()); } }), h("span", { key: '65be1fedbc4e9ff4b7aae075bd958cca392fe13d', class: "icons", ref: el => (this.iconsElement = el) }, h("slot", { key: '02d2bd88b58332797b47346cc387d34e9f0d70ab', name: "end" })), this.open && !this.readonly && (h("smoothly-calendar", { key: '0ce3b6a1d0729ad2a437b26dbaabe88e41953231', ref: el => (this.calendarElement = el), doubleInput: false, value: this.value, onSmoothlyValueChange: e => (e.stopPropagation(), this.onUserChangedValue(e)), max: this.max, min: this.min }, h("div", { key: 'a8c423ba3229945e88e0acca417b6d23ccb5c39c', slot: "year-label" }, h("slot", { key: '3e975ddbeb61a59f61342380cd205653554a7764', name: "year-label" })), h("div", { key: '2d863cc99d3107c5faba1a365408734c597b69b5', slot: "month-label" }, h("slot", { key: '70c18d1f4e2be650348f70f007d3ce55cee9ed66', name: "month-label" }))))));
|
|
136
136
|
}
|
|
137
137
|
get element() { return this; }
|
|
138
138
|
static get watchers() { return {
|
|
@@ -220,4 +220,4 @@ defineCustomElement();
|
|
|
220
220
|
|
|
221
221
|
export { SmoothlyInputDate as S, defineCustomElement as d };
|
|
222
222
|
|
|
223
|
-
//# sourceMappingURL=p-
|
|
223
|
+
//# sourceMappingURL=p-6a388393.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-6a388393.js","mappings":"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","names":[],"sources":["src/components/input/date/style.css?tag=smoothly-input-date&encapsulation=scoped","src/components/input/date/index.tsx"],"sourcesContent":["@import \"../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tposition: relative;\n\tmax-width: 100vw;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tbox-sizing: border-box;\n\tmin-height: var(--input-min-height);\n}\n:host .smoothly-date-placeholder {\n\tdisplay: none;\n}\n:host:not([always-show-guide]):not(:focus-within):not(.has-text) .smoothly-date-placeholder {\n\topacity: 0.5;\n\tdisplay: block;\n}\n\n:host:not([always-show-guide]):not(:focus-within):not(.has-text) smoothly-date-text {\n\tvisibility: hidden;\n}\n\n:host>.label {\n\tleft: var(--input-padding-side);\n}\n:host[show-label] > .smoothly-date-placeholder,\n:host[show-label] > smoothly-date-text {\n\tmargin-inline: var(--input-padding-side);\n\tmargin-block: var(--input-value-padding-top) var(--input-value-padding-bottom);\n}\n:host:not([show-label]) > .smoothly-date-placeholder,\n:host:not([show-label]) > smoothly-date-text {\n\tmargin-inline: var(--input-padding-side) auto;\n\tmargin-block: auto;\n}\n:host:not([readonly]) {\n\tcursor: pointer;\n}\n\n:host[disabled] {\n\tcursor: not-allowed;\n}\n\n:host>smoothly-calendar {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 4rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tmin-width: 18rem;\n\tmax-width: 22rem;\n}\n\n:host>smoothly-calendar::before {\n\tcontent: \"\";\n\tposition: absolute;\n\tleft: 2rem;\n\ttop: -0.55rem;\n\tz-index: 9;\n\ttransform: rotate(45deg);\n\twidth: 1rem;\n\theight: 1rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tborder-top: 1px solid rgb(var(--smoothly-input-border));\n\tborder-left: 1px solid rgb(var(--smoothly-input-border));\n}\n\n:host>span.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmargin-left: auto;\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tWatch,\n} from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Color } from \"../../../model\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-date\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputDate implements ComponentWillLoad, Clearable, Input, Editable {\n\tprivate dateTextElement?: HTMLSmoothlyDateTextElement\n\tprivate iconsElement?: HTMLElement\n\tprivate calendarElement?: HTMLSmoothlyCalendarElement\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true }) locale?: isoly.Locale\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled?: boolean\n\t@Prop() invalid?: boolean = false\n\t@Prop({ reflect: true }) errorMessage?: string\n\t@Prop({ reflect: true }) placeholder?: string\n\t@Prop({ reflect: true }) alwaysShowGuide = false\n\tparent: Editable | undefined\n\tchanged = false\n\tisDifferentFromInitial = false\n\tprivate hasFocus = false\n\tprivate initialValue?: isoly.Date\n\tprivate observer = Editable.Observer.create(this)\n\t@Prop({ mutable: true }) value?: isoly.Date\n\t@Prop({ mutable: true }) open: boolean\n\t@Prop({ mutable: true }) max: isoly.Date\n\t@Prop({ mutable: true }) min: isoly.Date\n\t@Prop({ reflect: true }) showLabel = true\n\t@State() hasText = false\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyValueChange: EventEmitter<isoly.Date>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any>>\n\t@Event() smoothlyUserInput: EventEmitter<Input.UserInput>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\n\tcomponentWillLoad(): void {\n\t\tthis.setInitialValue()\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<isoly.Date | undefined> {\n\t\treturn this.value\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.value = undefined\n\t}\n\t@Watch(\"value\")\n\tonValueChange(value: isoly.Date) {\n\t\tif (!this.hasFocus) {\n\t\t\tthis.dateTextElement?.setValue(value)\n\t\t}\n\t\tthis.isDifferentFromInitial = this.initialValue != this.value\n\t\tthis.smoothlyValueChange.emit(value)\n\t\tthis.smoothlyInput.emit({ [this.name]: value })\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tsmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputDate) => void>): void {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && (this.open = !this.open)\n\t}\n\tonClick(event: MouseEvent): void {\n\t\tconst includesTextElement = !!this.dateTextElement && event.composedPath().includes(this.dateTextElement)\n\t\tconst includesCalendar = !!this.calendarElement && event.composedPath().includes(this.calendarElement)\n\t\tconst includesIconsElement = !!this.iconsElement && event.composedPath().includes(this.iconsElement)\n\t\tif (!this.readonly && !this.disabled && !includesTextElement && !includesCalendar && !includesIconsElement)\n\t\t\tthis.dateTextElement?.select()\n\t\tif (!this.readonly && !this.disabled && !includesCalendar && !includesIconsElement)\n\t\t\tthis.open = !this.open || includesTextElement\n\t}\n\tonUserChangedValue(event: CustomEvent<isoly.Date | undefined>) {\n\t\tevent.stopPropagation()\n\t\tconst newValue = event.detail ?? undefined // normalize null to undefined\n\t\tif (this.value != newValue) {\n\t\t\tthis.value = newValue\n\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: this.value })\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean) {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset() {\n\t\tthis.value = this.initialValue\n\t}\n\t@Method()\n\tasync setInitialValue() {\n\t\tthis.initialValue = this.value\n\t\tthis.isDifferentFromInitial = false\n\t}\n\t@Listen(\"smoothlyDateSet\")\n\tdateSetHandler(event: CustomEvent<isoly.Date>) {\n\t\tthis.open = false\n\t\tevent.stopPropagation()\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\ttabindex={this.disabled ? undefined : 0}\n\t\t\t\tclass={{ \"has-value\": !!this.value, \"has-text\": this.hasText, \"floating-label\": this.alwaysShowGuide }}\n\t\t\t\tonClick={(e: MouseEvent) => this.onClick(e)}>\n\t\t\t\t<slot name=\"start\" />\n\t\t\t\t<label class={\"label float-on-focus\"}>\n\t\t\t\t\t<slot />\n\t\t\t\t</label>\n\t\t\t\t{this.placeholder && <span class=\"smoothly-date-placeholder\">{this.placeholder}</span>}\n\t\t\t\t<smoothly-date-text\n\t\t\t\t\tref={el => (this.dateTextElement = el)}\n\t\t\t\t\tlocale={this.locale}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\tvalue={this.value}\n\t\t\t\t\tonSmoothlyDateTextHasText={e => (e.stopPropagation(), (this.hasText = e.detail))}\n\t\t\t\t\tonSmoothlyDateTextFocusChange={e => (e.stopPropagation(), (this.hasFocus = e.detail))}\n\t\t\t\t\tonSmoothlyDateHasPartialDate={e => (e.stopPropagation(), this.calendarElement?.jumpTo(e.detail))}\n\t\t\t\t\tonSmoothlyDateTextChange={e => (e.stopPropagation(), this.onUserChangedValue(e))}\n\t\t\t\t\tonSmoothlyDateTextDone={e => (e.stopPropagation(), (this.open = false), this.dateTextElement?.deselect())}\n\t\t\t\t/>\n\t\t\t\t<span class=\"icons\" ref={el => (this.iconsElement = el)}>\n\t\t\t\t\t<slot name={\"end\"} />\n\t\t\t\t</span>\n\t\t\t\t{this.open && !this.readonly && (\n\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\tref={el => (this.calendarElement = el)}\n\t\t\t\t\t\tdoubleInput={false}\n\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\tonSmoothlyValueChange={e => (e.stopPropagation(), this.onUserChangedValue(e))}\n\t\t\t\t\t\tmax={this.max}\n\t\t\t\t\t\tmin={this.min}>\n\t\t\t\t\t\t<div slot={\"year-label\"}>\n\t\t\t\t\t\t\t<slot name={\"year-label\"} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div slot={\"month-label\"}>\n\t\t\t\t\t\t\t<slot name={\"month-label\"} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</smoothly-calendar>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { d as defineCustomElement$f } from './p-9a047645.js';
|
|
3
3
|
import { d as defineCustomElement$e } from './p-f49090bb.js';
|
|
4
|
-
import { d as defineCustomElement$d } from './p-
|
|
5
|
-
import { d as defineCustomElement$c } from './p-
|
|
4
|
+
import { d as defineCustomElement$d } from './p-a0beace6.js';
|
|
5
|
+
import { d as defineCustomElement$c } from './p-a396d0bd.js';
|
|
6
6
|
import { d as defineCustomElement$b } from './p-ee2e6e07.js';
|
|
7
7
|
import { d as defineCustomElement$a } from './p-81b41645.js';
|
|
8
8
|
import { d as defineCustomElement$9 } from './p-3e41512a.js';
|
|
9
|
-
import { d as defineCustomElement$8 } from './p-
|
|
10
|
-
import { d as defineCustomElement$7 } from './p-
|
|
9
|
+
import { d as defineCustomElement$8 } from './p-6a388393.js';
|
|
10
|
+
import { d as defineCustomElement$7 } from './p-6c6672ff.js';
|
|
11
11
|
import { d as defineCustomElement$6 } from './p-1ca8d560.js';
|
|
12
12
|
import { d as defineCustomElement$5 } from './p-f37f1d31.js';
|
|
13
13
|
import { d as defineCustomElement$4 } from './p-49691c3d.js';
|
|
@@ -116,4 +116,4 @@ defineCustomElement();
|
|
|
116
116
|
|
|
117
117
|
export { SmoothlyFormDemoTransparent as S, defineCustomElement as d };
|
|
118
118
|
|
|
119
|
-
//# sourceMappingURL=p-
|
|
119
|
+
//# sourceMappingURL=p-6ac528cf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-6ac528cf.js","mappings":";;;;;;;;;;;;;;;;;MAMa,2BAA2B;;;;;IACvC,MAAM;QACL,QACC,EAAC,IAAI,uDACJ,2EAAoB,EACpB,sEAAe,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAC1F,4EAAqB,IAAI,EAAE,MAAM,IAChC,6DAAM,IAAI,EAAE,OAAO,WAAa,EAChC,sEAAe,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,GAAI,CACxD,EACtB,uEAAgB,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAE1D,EACjB,qFAA+C,EAC/C,iGAAiE,EACjE,8EAAuB,IAAI,EAAE,WAAW,IACvC,sEAAe,KAAK,EAAE,OAAO,IAC5B,sEAAe,IAAI,EAAE,kBAAkB,GAAI,CAC5B,EAChB,sEAAe,KAAK,EAAE,KAAK,IAC1B,sEAAe,IAAI,EAAE,aAAa,GAAI,CACvB,EAChB,sEAAe,KAAK,EAAE,KAAK,EAAE,QAAQ,UACpC,sEAAe,IAAI,EAAE,aAAa,GAAI,CACvB,CACO,EACxB,8EAAuB,IAAI,EAAE,kBAAkB,GAAI,CACpC,CACV,EACP;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/form/demo/transparent/index.tsx"],"sourcesContent":["import { Component, h, Host, VNode } from \"@stencil/core\"\n\n@Component({\n\ttag: \"smoothly-form-demo-transparent\",\n\tscoped: true,\n})\nexport class SmoothlyFormDemoTransparent {\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<h2>Transparent</h2>\n\t\t\t\t<smoothly-form looks={\"transparent\"} onSmoothlyFormSubmit={e => console.log(e.detail.value)}>\n\t\t\t\t\t<smoothly-input-file name={\"file\"}>\n\t\t\t\t\t\t<span slot={\"label\"}>File</span>\n\t\t\t\t\t\t<smoothly-icon slot={\"button\"} name={\"folder-open-outline\"} size={\"small\"} />\n\t\t\t\t\t</smoothly-input-file>\n\t\t\t\t\t<smoothly-input type={\"duration\"} looks={\"transparent\"} placeholder={\"h:mm\"}>\n\t\t\t\t\t\tInput\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t<smoothly-input-date>Date</smoothly-input-date>\n\t\t\t\t\t<smoothly-input-date-range>Date Range</smoothly-input-date-range>\n\t\t\t\t\t<smoothly-input-select name={\"transport\"}>\n\t\t\t\t\t\t<smoothly-item value={\"plane\"}>\n\t\t\t\t\t\t\t<smoothly-icon name={\"airplane-outline\"} />\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t\t<smoothly-item value={\"car\"}>\n\t\t\t\t\t\t\t<smoothly-icon name={\"car-outline\"} />\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t\t<smoothly-item value={\"bus\"} selected>\n\t\t\t\t\t\t\t<smoothly-icon name={\"bus-outline\"} />\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t</smoothly-input-select>\n\t\t\t\t\t<smoothly-input-submit icon={\"checkbox-outline\"} />\n\t\t\t\t</smoothly-form>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import { E as Editable } from './p-ddd5bc95.js';
|
|
3
3
|
import { I as Input } from './p-ee2e6e07.js';
|
|
4
|
-
import { d as defineCustomElement$6 } from './p-
|
|
5
|
-
import { d as defineCustomElement$5 } from './p-
|
|
4
|
+
import { d as defineCustomElement$6 } from './p-a0beace6.js';
|
|
5
|
+
import { d as defineCustomElement$5 } from './p-a396d0bd.js';
|
|
6
6
|
import { d as defineCustomElement$4 } from './p-81b41645.js';
|
|
7
7
|
import { d as defineCustomElement$3 } from './p-f37f1d31.js';
|
|
8
8
|
import { d as defineCustomElement$2 } from './p-49691c3d.js';
|
|
@@ -136,15 +136,15 @@ const SmoothlyInputDateRange = proxyCustomElement(class SmoothlyInputDateRange e
|
|
|
136
136
|
this.smoothlyInput.emit({ [this.name]: undefined });
|
|
137
137
|
}
|
|
138
138
|
render() {
|
|
139
|
-
return (h(Host, { key: '
|
|
139
|
+
return (h(Host, { key: '47b1f42eee61e5812a3f664ab5a7cbf0d5963302', tabindex: this.disabled ? undefined : 0, class: {
|
|
140
140
|
"has-value": !!(this.start || this.end),
|
|
141
141
|
"has-text": !!(this.startHasText || this.endHasText),
|
|
142
142
|
"floating-label": this.alwaysShowGuide,
|
|
143
|
-
} }, h("span", { key: '
|
|
143
|
+
} }, h("span", { key: '9b9f91859e50d68030a0b5c06c5e522f416810ad', class: "smoothly-date-range-input-part", onClick: (e) => this.onClick(e) }, h("slot", { key: '8dd08d22165176217c35c46a68911f71f720f151', name: "start" }), h("label", { key: '202786f137a4d1e63c53b83496060e9aa5d675c1', class: "label float-on-focus" }, h("slot", { key: '72dcc7c77080ffc24572344229fba7156985fc6b' })), this.placeholder && h("span", { key: 'a3d3e6f0a38bfb4eef494f70cb297a8a67528432', class: "smoothly-date-range-placeholder" }, this.placeholder), h("smoothly-date-text", { key: 'c3f27d77cb49ea451c97014ff7d787232c178ba8', ref: el => (this.startTextElement = el), class: "start-date-text", locale: this.locale, onSmoothlyDateTextHasText: e => (e.stopPropagation(), (this.startHasText = e.detail)), onSmoothlyDateTextFocusChange: e => (e.stopPropagation(), (this.hasFocus = e.detail)), onSmoothlyDateHasPartialDate: e => { var _a; return (e.stopPropagation(), (_a = this.calendarElement) === null || _a === void 0 ? void 0 : _a.jumpTo(e.detail)); }, onSmoothlyDateTextChange: e => (e.stopPropagation(), this.onSmoothlyDateTextChange(e, "start")), onSmoothlyDateTextNext: e => { var _a; return (e.stopPropagation(), (_a = this.endTextElement) === null || _a === void 0 ? void 0 : _a.select()); }, onSmoothlyDateTextDone: e => {
|
|
144
144
|
var _a, _b;
|
|
145
145
|
return (e.stopPropagation(),
|
|
146
146
|
this.end ? ((_a = this.startTextElement) === null || _a === void 0 ? void 0 : _a.deselect(), (this.open = false)) : (_b = this.endTextElement) === null || _b === void 0 ? void 0 : _b.select());
|
|
147
|
-
}, value: this.start, readonly: this.readonly, disabled: this.disabled, invalid: this.invalid, showLabel: this.showLabel }), h("span", { key: '
|
|
147
|
+
}, value: this.start, readonly: this.readonly, disabled: this.disabled, invalid: this.invalid, showLabel: this.showLabel }), h("span", { key: 'f7b237128af048f7b63cb07adfac2952ae6b56de', class: "smoothly-date-range-separator" }, " \u2013 "), h("smoothly-date-text", { key: 'ad17bb8a568e2ac5420211b7cd88ea739f7c83b1', ref: el => (this.endTextElement = el), class: "end-date-text", locale: this.locale, onSmoothlyDateTextHasText: e => (e.stopPropagation(), (this.endHasText = e.detail)), onSmoothlyDateTextFocusChange: e => (e.stopPropagation(), (this.hasFocus = e.detail)), onSmoothlyDateHasPartialDate: e => { var _a; return (e.stopPropagation(), (_a = this.calendarElement) === null || _a === void 0 ? void 0 : _a.jumpTo(e.detail)); }, onSmoothlyDateTextChange: e => (e.stopPropagation(), this.onSmoothlyDateTextChange(e, "end")), onSmoothlyDateTextPrevious: e => { var _a; return (e.stopPropagation(), (_a = this.startTextElement) === null || _a === void 0 ? void 0 : _a.select("end")); }, onSmoothlyDateTextNext: e => e.stopPropagation(), onSmoothlyDateTextDone: e => { var _a; return (e.stopPropagation(), (_a = this.endTextElement) === null || _a === void 0 ? void 0 : _a.deselect(), (this.open = false)); }, value: this.end, readonly: this.readonly, disabled: this.disabled, invalid: this.invalid, showLabel: this.showLabel })), h("span", { key: '5cc0127cd3291e2e3411af8dd9c52449c5faccf4', class: "icons" }, h("slot", { key: '22ebeaa9a2824143d5c2bfdf9a0fca422ab8a5bc', name: "end" })), this.open && (h("smoothly-calendar", { key: '9fc6f4717446811fe6b7bd8a23cb10aefcb094eb', ref: el => (this.calendarElement = el), doubleInput: true, onSmoothlyValueChange: e => e.stopPropagation(), onSmoothlyStartChange: e => (e.stopPropagation(), (this.start = e.detail)), onSmoothlyEndChange: e => (e.stopPropagation(), (this.end = e.detail)), onSmoothlyDateSet: e => e.stopPropagation(), onSmoothlyDateRangeSet: e => {
|
|
148
148
|
e.stopPropagation();
|
|
149
149
|
this.open = false;
|
|
150
150
|
this.smoothlyInput.emit({ [this.name]: e.detail });
|
|
@@ -240,4 +240,4 @@ defineCustomElement();
|
|
|
240
240
|
|
|
241
241
|
export { SmoothlyInputDateRange as S, defineCustomElement as d };
|
|
242
242
|
|
|
243
|
-
//# sourceMappingURL=p-
|
|
243
|
+
//# sourceMappingURL=p-6c6672ff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-6c6672ff.js","mappings":"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","names":[],"sources":["src/components/input/date/range/style.scss?tag=smoothly-input-date-range&encapsulation=scoped","src/components/input/date/range/index.tsx"],"sourcesContent":["@import \"../../shared.css\";\n\n:host {\n\tposition: relative;\n\tdisplay: flex;\n\tbackground-color: rgb(var(--smoothly-input-background));\n}\n\n:host [slot=start] {\n\talign-self: center;\n}\n\n:host .label {\n\tleft: var(--input-padding-side);\n}\n\n:host .smoothly-date-range-separator {\n\twhite-space: pre;\n}\n\n:host .smoothly-date-range-placeholder {\n\tmargin-inline: var(--input-padding-side);\n\tdisplay: none;\n}\n\n:host:not([always-show-guide]):not(:focus-within):not(.has-text) {\n\t& .smoothly-date-range-placeholder {\n\t\tdisplay: block;\n\t\topacity: 0.5;\n\t}\n\n\t& smoothly-date-text,\n\t& .smoothly-date-range-separator {\n\t\tvisibility: hidden;\n\t}\n}\n\n:host smoothly-date-text.start-date-text {\n\tmargin-inline: var(--input-padding-side) 0;\n}\n\n:host smoothly-date-text.end-date-text {\n\tmargin-inline: 0 var(--input-padding-side);\n}\n\n:host[show-label] .smoothly-date-range-placeholder,\n:host[show-label] smoothly-date-text,\n:host[show-label] .smoothly-date-range-separator {\n\tmargin-block: var(--input-value-padding-top) var(--input-value-padding-bottom);\n}\n\n:host:not([show-label]) .smoothly-date-range-placeholder,\n:host:not([show-label]) smoothly-date-text,\n:host:not([show-label]) .smoothly-date-range-separator {\n\tmargin-block: auto;\n}\n\n:host:not([readonly]) {\n\tcursor: pointer;\n}\n\n:host[disabled] {\n\tcursor: not-allowed;\n}\n\n:host > smoothly-calendar {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: 4rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tmax-width: 22rem;\n\tmin-width: 18rem;\n}\n\n:host > smoothly-calendar::before {\n\tcontent: \"\";\n\tposition: absolute;\n\ttop: -0.55rem;\n\tleft: 3rem;\n\tz-index: 9;\n\ttransform: rotate(45deg);\n\twidth: 1rem;\n\theight: 1rem;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tborder-top: 1px solid rgb(var(--smoothly-input-border));\n\tborder-left: 1px solid rgb(var(--smoothly-input-border));\n}\n\n:host > .smoothly-date-range-input-part {\n\tdisplay: flex;\n\twidth: 100%;\n\tbackground-color: var(--smoothly-input-background);\n\tborder-radius: 0.25rem;\n\tcursor: pointer;\n}\n\n:host > span.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { isoly } from \"isoly\"\nimport { Clearable } from \"../../Clearable\"\nimport { Editable } from \"../../Editable\"\nimport { Input } from \"../../Input\"\nimport { Looks } from \"../../Looks\"\nimport { Color } from \"./../../../../model\"\n\n@Component({\n\ttag: \"smoothly-input-date-range\",\n\tstyleUrl: \"style.scss\",\n\tscoped: true,\n})\nexport class SmoothlyInputDateRange implements Clearable, Input, Editable {\n\tprivate startTextElement?: HTMLSmoothlyDateTextElement\n\tprivate endTextElement?: HTMLSmoothlyDateTextElement\n\tprivate calendarElement?: HTMLSmoothlyCalendarElement\n\t@Element() element: HTMLElement\n\t@Prop({ reflect: true }) locale?: isoly.Locale\n\t@Prop({ reflect: true }) name: string = \"dateRange\"\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) disabled?: boolean\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ mutable: true }) start: isoly.Date | undefined\n\t@Prop({ mutable: true }) end: isoly.Date | undefined\n\t@Prop({ reflect: true }) placeholder: string\n\t@Prop({ reflect: true }) alwaysShowGuide = false\n\t@Prop() invalid?: boolean = false\n\t@Prop() max?: isoly.Date\n\t@Prop() min?: isoly.Date\n\tparent: Editable | undefined\n\tisDifferentFromInitial = false\n\tprivate hasFocus = false\n\tprivate observer = Editable.Observer.create(this)\n\tprivate initialStart?: isoly.Date\n\tprivate initialEnd?: isoly.Date\n\t@State() open: boolean\n\t@State() startHasText = false\n\t@State() endHasText = false\n\t@Event() smoothlyInput: EventEmitter<{ [name: string]: Partial<isoly.DateRange> | undefined }>\n\t@Event() smoothlyUserInput: EventEmitter<Input.UserInput<Partial<isoly.DateRange> | undefined>>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\n\tasync componentWillLoad() {\n\t\tthis.setInitialValue()\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.observer.publish()\n\t}\n\t@Watch(\"start\")\n\tstartChanged(_: isoly.Date | undefined, oldValue: isoly.Date | undefined) {\n\t\tthis.updateValue(oldValue, this.end)\n\t}\n\t@Watch(\"end\")\n\tendChanged(_: isoly.Date | undefined, oldValue: isoly.Date | undefined) {\n\t\tthis.updateValue(this.start, oldValue)\n\t}\n\n\tasync updateValue(oldStart: isoly.Date | undefined, oldEnd: isoly.Date | undefined) {\n\t\tif (oldStart != this.start || oldEnd != this.end) {\n\t\t\tthis.isDifferentFromInitial = this.initialStart != this.start || this.initialEnd != this.end\n\t\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t\t\tthis.observer.publish()\n\t\t}\n\t\tif (!this.hasFocus) {\n\t\t\tthis.startTextElement?.setValue(this.start)\n\t\t\tthis.endTextElement?.setValue(this.end)\n\t\t}\n\t}\n\t@Watch(\"disabled\")\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.observer.publish()\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tsmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputDateRange) => void>): void {\n\t\tInput.registerSubAction(this, event)\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && (this.open = !this.open)\n\t}\n\tonClick(event: MouseEvent): void {\n\t\tconst includesStartTextElement = !!this.startTextElement && event.composedPath().includes(this.startTextElement)\n\t\tconst includesEndTextElement = !!this.endTextElement && event.composedPath().includes(this.endTextElement)\n\t\tconst includesTextElement = includesStartTextElement || includesEndTextElement\n\t\tif (!includesTextElement && !this.readonly && !this.disabled)\n\t\t\tthis.start && !this.end ? this.endTextElement?.select() : this.startTextElement?.select()\n\t\tif (!this.readonly && !this.disabled)\n\t\t\tthis.open = !this.open || includesTextElement\n\t}\n\tasync onSmoothlyDateTextChange(event: CustomEvent<isoly.Date | undefined>, startOrEnd: \"start\" | \"end\") {\n\t\tevent.stopPropagation()\n\t\tconst newValue = event.detail ?? undefined\n\t\tif (this[startOrEnd] != newValue) {\n\t\t\tthis[startOrEnd] = newValue\n\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: await this.getValue() })\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Watch(\"name\")\n\tnameChange(_: string | undefined, oldName: string | undefined) {\n\t\tInput.formRename(this, oldName)\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<Partial<isoly.DateRange | undefined>> {\n\t\treturn this.start || this.end ? { start: this.start, end: this.end } : undefined\n\t}\n\t@Method()\n\tasync listen(listener: Editable.Observer.Listener): Promise<void> {\n\t\tthis.observer.subscribe(listener)\n\t}\n\t@Method()\n\tasync edit(editable: boolean) {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset() {\n\t\tthis.start = this.initialStart\n\t\tthis.end = this.initialEnd\n\t}\n\t@Method()\n\tasync setInitialValue() {\n\t\tthis.initialStart = this.start\n\t\tthis.initialEnd = this.end\n\t\tthis.isDifferentFromInitial = false\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.start = undefined\n\t\tthis.end = undefined\n\t\tthis.smoothlyInput.emit({ [this.name]: undefined })\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\ttabindex={this.disabled ? undefined : 0}\n\t\t\t\tclass={{\n\t\t\t\t\t\"has-value\": !!(this.start || this.end),\n\t\t\t\t\t\"has-text\": !!(this.startHasText || this.endHasText),\n\t\t\t\t\t\"floating-label\": this.alwaysShowGuide,\n\t\t\t\t}}>\n\t\t\t\t<span class=\"smoothly-date-range-input-part\" onClick={(e: MouseEvent) => this.onClick(e)}>\n\t\t\t\t\t<slot name=\"start\" />\n\t\t\t\t\t<label class={\"label float-on-focus\"}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</label>\n\t\t\t\t\t{this.placeholder && <span class=\"smoothly-date-range-placeholder\">{this.placeholder}</span>}\n\t\t\t\t\t<smoothly-date-text\n\t\t\t\t\t\tref={el => (this.startTextElement = el)}\n\t\t\t\t\t\tclass=\"start-date-text\"\n\t\t\t\t\t\tlocale={this.locale}\n\t\t\t\t\t\tonSmoothlyDateTextHasText={e => (e.stopPropagation(), (this.startHasText = e.detail))}\n\t\t\t\t\t\tonSmoothlyDateTextFocusChange={e => (e.stopPropagation(), (this.hasFocus = e.detail))}\n\t\t\t\t\t\tonSmoothlyDateHasPartialDate={e => (e.stopPropagation(), this.calendarElement?.jumpTo(e.detail))}\n\t\t\t\t\t\tonSmoothlyDateTextChange={e => (e.stopPropagation(), this.onSmoothlyDateTextChange(e, \"start\"))}\n\t\t\t\t\t\tonSmoothlyDateTextNext={e => (e.stopPropagation(), this.endTextElement?.select())}\n\t\t\t\t\t\tonSmoothlyDateTextDone={e => (\n\t\t\t\t\t\t\te.stopPropagation(),\n\t\t\t\t\t\t\tthis.end ? (this.startTextElement?.deselect(), (this.open = false)) : this.endTextElement?.select()\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tvalue={this.start}\n\t\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\t/>\n\t\t\t\t\t<span class=\"smoothly-date-range-separator\"> – </span>\n\t\t\t\t\t<smoothly-date-text\n\t\t\t\t\t\tref={el => (this.endTextElement = el)}\n\t\t\t\t\t\tclass=\"end-date-text\"\n\t\t\t\t\t\tlocale={this.locale}\n\t\t\t\t\t\tonSmoothlyDateTextHasText={e => (e.stopPropagation(), (this.endHasText = e.detail))}\n\t\t\t\t\t\tonSmoothlyDateTextFocusChange={e => (e.stopPropagation(), (this.hasFocus = e.detail))}\n\t\t\t\t\t\tonSmoothlyDateHasPartialDate={e => (e.stopPropagation(), this.calendarElement?.jumpTo(e.detail))}\n\t\t\t\t\t\tonSmoothlyDateTextChange={e => (e.stopPropagation(), this.onSmoothlyDateTextChange(e, \"end\"))}\n\t\t\t\t\t\tonSmoothlyDateTextPrevious={e => (e.stopPropagation(), this.startTextElement?.select(\"end\"))}\n\t\t\t\t\t\tonSmoothlyDateTextNext={e => e.stopPropagation()}\n\t\t\t\t\t\tonSmoothlyDateTextDone={e => (e.stopPropagation(), this.endTextElement?.deselect(), (this.open = false))}\n\t\t\t\t\t\tvalue={this.end}\n\t\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tinvalid={this.invalid}\n\t\t\t\t\t\tshowLabel={this.showLabel}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span class={\"icons\"}>\n\t\t\t\t\t<slot name={\"end\"} />\n\t\t\t\t</span>\n\t\t\t\t{this.open && (\n\t\t\t\t\t<smoothly-calendar\n\t\t\t\t\t\tref={el => (this.calendarElement = el)}\n\t\t\t\t\t\tdoubleInput={true}\n\t\t\t\t\t\tonSmoothlyValueChange={e => e.stopPropagation()}\n\t\t\t\t\t\tonSmoothlyStartChange={e => (e.stopPropagation(), (this.start = e.detail))}\n\t\t\t\t\t\tonSmoothlyEndChange={e => (e.stopPropagation(), (this.end = e.detail))}\n\t\t\t\t\t\tonSmoothlyDateSet={e => e.stopPropagation()}\n\t\t\t\t\t\tonSmoothlyDateRangeSet={e => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t\tthis.smoothlyInput.emit({ [this.name]: e.detail })\n\t\t\t\t\t\t\tthis.smoothlyUserInput.emit({ name: this.name, value: e.detail })\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={this.start}\n\t\t\t\t\t\tstart={this.start}\n\t\t\t\t\t\tend={this.end}\n\t\t\t\t\t\tmax={this.max}\n\t\t\t\t\t\tmin={this.min}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|