@six-group/ui-library 5.0.0-rc.1 → 5.0.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/index-C8rK7OAe.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/six-date.cjs.entry.js +38 -33
- package/dist/cjs/six-date.cjs.entry.js.map +1 -1
- package/dist/cjs/six-date.entry.cjs.js.map +1 -1
- package/dist/cjs/six-datepicker.cjs.entry.js +3 -3
- package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-datepicker.entry.cjs.js.map +1 -1
- package/dist/cjs/six-range.cjs.entry.js.map +1 -1
- package/dist/cjs/six-range.entry.cjs.js.map +1 -1
- package/dist/cjs/six-rating.cjs.entry.js +126 -0
- package/dist/cjs/six-rating.cjs.entry.js.map +1 -0
- package/dist/cjs/six-rating.entry.cjs.js.map +1 -0
- package/dist/cjs/six-root.cjs.entry.js +1 -1
- package/dist/cjs/six-sidebar-item.cjs.entry.js +2 -2
- package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/six-switch.cjs.entry.js +2 -2
- package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/six-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/six-tab.cjs.entry.js +2 -2
- package/dist/cjs/six-tag.cjs.entry.js +2 -2
- package/dist/cjs/six-textarea.cjs.entry.js +2 -2
- package/dist/cjs/six-tile.cjs.entry.js +5 -5
- package/dist/cjs/six-timepicker.cjs.entry.js +17 -9
- package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
- package/dist/cjs/six-timepicker.entry.cjs.js.map +1 -1
- package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/ui-library.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/six-date/iso-date.js +32 -0
- package/dist/collection/components/six-date/iso-date.js.map +1 -1
- package/dist/collection/components/six-date/six-date.js +7 -34
- package/dist/collection/components/six-date/six-date.js.map +1 -1
- package/dist/collection/components/six-datepicker/six-datepicker.js +4 -4
- package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
- package/dist/collection/components/six-rating/six-rating.css +125 -0
- package/dist/collection/components/six-rating/six-rating.js +432 -0
- package/dist/collection/components/six-rating/six-rating.js.map +1 -0
- package/dist/collection/components/six-root/six-root.js +1 -1
- package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
- package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
- package/dist/collection/components/six-switch/six-switch.js +2 -2
- package/dist/collection/components/six-tab/six-tab.js +2 -2
- package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
- package/dist/collection/components/six-tag/six-tag.js +2 -2
- package/dist/collection/components/six-textarea/six-textarea.js +2 -2
- package/dist/collection/components/six-tile/six-tile.js +5 -5
- package/dist/collection/components/six-timepicker/six-timepicker.js +17 -9
- package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
- package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-DnLdSdN5.js → p-CAJFkiLw.js} +19 -11
- package/dist/components/p-CAJFkiLw.js.map +1 -0
- package/dist/components/{p-Cs6mMfx-.js → p-ClylOmYH.js} +4 -4
- package/dist/components/{p-Cs6mMfx-.js.map → p-ClylOmYH.js.map} +1 -1
- package/dist/components/six-date.js +38 -33
- package/dist/components/six-date.js.map +1 -1
- package/dist/components/six-datepicker.js +4 -4
- package/dist/components/six-datepicker.js.map +1 -1
- package/dist/components/six-range.js.map +1 -1
- package/dist/components/six-rating.d.ts +11 -0
- package/dist/components/six-rating.js +173 -0
- package/dist/components/six-rating.js.map +1 -0
- package/dist/components/six-root.js +1 -1
- package/dist/components/six-sidebar-item.js +2 -2
- package/dist/components/six-sidebar.js +2 -2
- package/dist/components/six-switch.js +2 -2
- package/dist/components/six-switch.js.map +1 -1
- package/dist/components/six-tab-panel.js +1 -1
- package/dist/components/six-tab.js +2 -2
- package/dist/components/six-tag.js +3 -3
- package/dist/components/six-textarea.js +2 -2
- package/dist/components/six-tile.js +6 -6
- package/dist/components/six-timepicker.js +1 -1
- package/dist/components/six-tooltip.js +1 -1
- package/dist/components.json +471 -4
- package/dist/esm/index-JoG9I7EO.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/six-date.entry.js +38 -33
- package/dist/esm/six-date.entry.js.map +1 -1
- package/dist/esm/six-datepicker.entry.js +3 -3
- package/dist/esm/six-datepicker.entry.js.map +1 -1
- package/dist/esm/six-range.entry.js.map +1 -1
- package/dist/esm/six-rating.entry.js +124 -0
- package/dist/esm/six-rating.entry.js.map +1 -0
- package/dist/esm/six-root.entry.js +1 -1
- package/dist/esm/six-sidebar-item.entry.js +2 -2
- package/dist/esm/six-sidebar.entry.js +2 -2
- package/dist/esm/six-switch.entry.js +2 -2
- package/dist/esm/six-switch.entry.js.map +1 -1
- package/dist/esm/six-tab-panel.entry.js +1 -1
- package/dist/esm/six-tab.entry.js +2 -2
- package/dist/esm/six-tag.entry.js +2 -2
- package/dist/esm/six-textarea.entry.js +2 -2
- package/dist/esm/six-tile.entry.js +5 -5
- package/dist/esm/six-timepicker.entry.js +17 -9
- package/dist/esm/six-timepicker.entry.js.map +1 -1
- package/dist/esm/six-tooltip.entry.js +2 -2
- package/dist/esm/ui-library.js +1 -1
- package/dist/types/components/six-date/iso-date.d.ts +2 -0
- package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
- package/dist/types/components/six-rating/six-rating.d.ts +52 -0
- package/dist/types/components.d.ts +164 -4
- package/dist/ui-library/{p-01243b2e.entry.js → p-03ca4af8.entry.js} +2 -2
- package/dist/ui-library/p-12e7a9e1.entry.js +2 -0
- package/dist/ui-library/p-12e7a9e1.entry.js.map +1 -0
- package/dist/ui-library/{p-362ff192.entry.js → p-21cbccb1.entry.js} +2 -2
- package/dist/ui-library/p-38c51fd1.entry.js +2 -0
- package/dist/ui-library/p-38c51fd1.entry.js.map +1 -0
- package/dist/ui-library/p-39668d61.entry.js +2 -0
- package/dist/ui-library/p-39668d61.entry.js.map +1 -0
- package/dist/ui-library/{p-ea61b009.entry.js → p-6c8182fa.entry.js} +2 -2
- package/dist/ui-library/{p-25ff87fe.entry.js → p-83b35622.entry.js} +2 -2
- package/dist/ui-library/{p-18e755bc.entry.js → p-c33533c4.entry.js} +2 -2
- package/dist/ui-library/p-c33533c4.entry.js.map +1 -0
- package/dist/ui-library/{p-f6423fca.entry.js → p-c8fbf085.entry.js} +2 -2
- package/dist/ui-library/p-d7c7398d.entry.js +2 -0
- package/dist/ui-library/{p-f4dd7b57.entry.js → p-d9e770ab.entry.js} +2 -2
- package/dist/ui-library/p-d9e770ab.entry.js.map +1 -0
- package/dist/ui-library/p-ea3bf68d.entry.js +2 -0
- package/dist/ui-library/p-ee980a0f.entry.js.map +1 -1
- package/dist/ui-library/{p-29d79fe3.entry.js → p-f54d3616.entry.js} +2 -2
- package/dist/ui-library/{p-285666de.entry.js → p-f6a1c20b.entry.js} +2 -2
- package/dist/ui-library/six-date.entry.esm.js.map +1 -1
- package/dist/ui-library/six-datepicker.entry.esm.js.map +1 -1
- package/dist/ui-library/six-range.entry.esm.js.map +1 -1
- package/dist/ui-library/six-rating.entry.esm.js.map +1 -0
- package/dist/ui-library/six-switch.entry.esm.js.map +1 -1
- package/dist/ui-library/six-timepicker.entry.esm.js.map +1 -1
- package/dist/ui-library/ui-library.css +1 -1
- package/dist/ui-library/ui-library.esm.js +1 -1
- package/package.json +1 -1
- package/dist/components/p-DnLdSdN5.js.map +0 -1
- package/dist/ui-library/p-18e755bc.entry.js.map +0 -1
- package/dist/ui-library/p-3dc98466.entry.js +0 -2
- package/dist/ui-library/p-3dc98466.entry.js.map +0 -1
- package/dist/ui-library/p-494546c8.entry.js +0 -2
- package/dist/ui-library/p-4f52c56f.entry.js +0 -2
- package/dist/ui-library/p-4f52c56f.entry.js.map +0 -1
- package/dist/ui-library/p-d36ec323.entry.js +0 -2
- package/dist/ui-library/p-f4dd7b57.entry.js.map +0 -1
- /package/dist/ui-library/{p-01243b2e.entry.js.map → p-03ca4af8.entry.js.map} +0 -0
- /package/dist/ui-library/{p-362ff192.entry.js.map → p-21cbccb1.entry.js.map} +0 -0
- /package/dist/ui-library/{p-ea61b009.entry.js.map → p-6c8182fa.entry.js.map} +0 -0
- /package/dist/ui-library/{p-25ff87fe.entry.js.map → p-83b35622.entry.js.map} +0 -0
- /package/dist/ui-library/{p-f6423fca.entry.js.map → p-c8fbf085.entry.js.map} +0 -0
- /package/dist/ui-library/{p-d36ec323.entry.js.map → p-d7c7398d.entry.js.map} +0 -0
- /package/dist/ui-library/{p-494546c8.entry.js.map → p-ea3bf68d.entry.js.map} +0 -0
- /package/dist/ui-library/{p-29d79fe3.entry.js.map → p-f54d3616.entry.js.map} +0 -0
- /package/dist/ui-library/{p-285666de.entry.js.map → p-f6a1c20b.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"six-date.js","sourceRoot":"","sources":["../../../src/components/six-date/six-date.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { MonthSelection } from './components/month-selection';\nimport { YearSelection } from './components/year-selection';\nimport { DaySelection } from './components/day-selection';\nimport { Language } from '../../utils/error-messages';\nimport { cleanupValue, formatDate, fromFormattedString, todayAsPointerDate, toPointerDate } from './iso-date';\nimport { createCalendarGrid } from './calendar-grid';\nimport { translateFormatHelp, translateMonth } from './translations';\nimport Popover from '../../utils/popover';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\n/**\n * A date picker component that allows users to select dates via a calendar popup or direct input.\n *\n * @since 5.0\n * @status beta\n *\n * @slot label - The date's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes the usage.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text property.\n */\n@Component({\n tag: 'six-date',\n styleUrl: 'six-date.scss',\n shadow: true,\n})\nexport class SixDate {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popoverHelper?: Popover;\n private panel?: HTMLElement;\n private positioner?: HTMLElement;\n\n @Element() host!: HTMLSixDateElement;\n\n /**\n * Current state of the date picker for day, month, or year selection.\n * Independent of the currently selected date value.\n */\n @State() pointerDate = todayAsPointerDate();\n\n @State() selectionMode: 'day' | 'month' | 'year' = 'day';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() language: Language = 'en';\n\n /**\n * If `true` the user can only select a date via the component in the popup but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which dates in the picker should be selectable.\n */\n @Prop() allowedDates: (date: string) => boolean = () => true;\n\n /**\n * The minimum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates before this value will be disabled in the date picker.\n * Example: '2024-01-01'\n */\n @Prop() min?: string;\n\n /**\n * The maximum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates after this value will be disabled in the date picker.\n * Example: '2025-01-01'\n */\n @Prop() max?: string;\n\n /**\n * The size of the date input field.\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field in ISO 8601 date format (yyyy-MM-dd).\n * Example: '2024-01-01'.\n *\n * When an invalid date is provided, it will be replaced with an empty string (''),\n * matching the behavior of native HTML <input type=\"date\">.\n *\n * The displayed format can be customized using the dateFormat property, but the underlying\n * value will always be stored in ISO format.\n */\n @Prop({ mutable: true }) value: string | '' = '';\n\n /** Defines the format pattern for displaying dates and how dates can be entered via keyboard.\n *\n * The parser accepts flexible input that doesn't strictly match the format pattern.\n * Input with missing leading zeros or incomplete years will be automatically normalized.\n * For example, with the pattern \"dd.MM.yyyy\": \"1.1.2025\" becomes \"01.01.2025\" and\n * \"1.1.225\" becomes \"01.01.0225\".\n *\n * Defaults to \"dd.MM.yyyy\".\n *\n * Available patterns:\n * - Year: \"yyyy\" (e.g., \"2021\")\n * - Month: \"MM\" (e.g., \"01\" for January) or \"M\" (e.g., \"1\" for January)\n * - Day: \"dd\" (e.g., \"08\" for the 8th) or \"d\" (e.g., \"8\" for the 8th)\n *\n * Examples:\n * - \"dd.MM.yyyy\" -> \"31.01.2024\"\n * - \"yyyy-MM-dd\" -> \"2024-01-31\"\n * - \"d.M.yyyy\" -> \"31.1.2024\"\n * */\n @Prop() dateFormat = 'dd.MM.yyyy';\n\n /** The label text. */\n @Prop() label = '';\n\n /** The input's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n @Watch('value')\n valueChanged() {\n this.updateValueAndPointerDate();\n }\n\n /**\n * Emitted when the control's value changes.\n * Event detail contains the new date value in ISO format (yyyy-MM-dd) or an empty string if cleared.\n */\n @Event({ eventName: 'six-change' }) sixChange!: EventEmitter<string | ''>;\n\n /**\n * Emitted when the control loses focus or the date picker popup is closed.\n * Does not contain event details.\n */\n @Event({ eventName: 'six-blur' }) sixBlur!: EventEmitter;\n\n /** Sets focus on the input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n private panelHideInProgress = false;\n\n private updateValueAndPointerDate() {\n const { value, pointerDate, warning } = cleanupValue(this.value);\n this.value = value;\n this.pointerDate = pointerDate;\n if (warning != null) {\n console.warn(warning);\n }\n }\n\n private getSixInputBaseElement() {\n return this.inputElement?.shadowRoot?.querySelector('div.input') as HTMLDivElement;\n }\n\n private show() {\n if (this.popoverHelper?.isVisible === true || this.panelHideInProgress || this.disabled) return;\n this.popoverHelper?.show();\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private hide() {\n if (this.popoverHelper?.isVisible === false) return;\n\n this.updateInputElementValue();\n this.selectionMode = 'day';\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.panelHideInProgress = true;\n this.popoverHelper?.hide();\n }\n\n private initPopover() {\n const sixInputBaseElement = this.getSixInputBaseElement();\n if (this.inputElement == null || this.positioner == null || this.panel == null || sixInputBaseElement == null) {\n return;\n }\n\n this.eventListeners.add(sixInputBaseElement, 'click', () => this.show());\n\n this.popoverHelper = new Popover(sixInputBaseElement, this.positioner, {\n strategy: 'fixed',\n placement: 'bottom-start',\n transitionElement: this.panel,\n distance: 4,\n skidding: 0,\n onAfterHide: () => {\n this.panelHideInProgress = false;\n },\n });\n }\n\n private handlePreviousClick = () => {\n switch (this.selectionMode) {\n case 'day':\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1 };\n } else {\n this.pointerDate = { year: this.pointerDate.year, month: this.pointerDate.month - 1, day: 1 };\n }\n break;\n case 'month':\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n break;\n case 'year':\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n break;\n }\n };\n\n private handleNextClick = () => {\n if (this.selectionMode === 'day') {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1 };\n } else {\n this.pointerDate = { year: this.pointerDate.year, month: this.pointerDate.month + 1, day: 1 };\n }\n } else if (this.selectionMode === 'month') {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n } else if (this.selectionMode === 'year') {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n const baseElement = this.getSixInputBaseElement();\n if (baseElement == null || this.panel == null) return;\n\n // Close when clicking outside\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.panel) && !path.includes(baseElement)) {\n this.hide();\n this.sixBlur.emit();\n }\n };\n\n private handleDayClick = (date: string) => {\n this.value = date;\n this.pointerDate = toPointerDate(this.value);\n this.hide();\n this.inputElement?.setFocus();\n this.sixChange.emit(this.value);\n };\n\n private handleMonthClicked = (month: number) => {\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = 'day';\n };\n\n private handleYearClicked = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = 'day';\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) return;\n event.stopPropagation();\n const isoDate = fromFormattedString(this.inputElement.value, this.dateFormat);\n\n if (isoDate != null) {\n this.value = isoDate;\n this.pointerDate = toPointerDate(this.value);\n } else if (this.inputElement.value === '') {\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.selectionMode = 'day';\n }\n this.sixChange.emit(this.value);\n };\n\n private handleInputBlur = () => {\n if (this.popoverHelper?.isVisible === false) {\n this.updateInputElementValue();\n }\n };\n\n private handleInputClearClick = () => {\n this.hide();\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.sixChange.emit(this.value);\n };\n\n private handleInputKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n this.hide();\n this.sixBlur.emit();\n }\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private updateInputElementValue() {\n if (this.inputElement) {\n this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);\n }\n }\n\n connectedCallback() {\n this.initPopover();\n this.updateValueAndPointerDate();\n this.eventListeners.forward('six-change', 'change', this.host);\n this.eventListeners.forward('six-blur', 'blur', this.host);\n }\n\n componentDidLoad() {\n this.updateInputElementValue();\n this.initPopover();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n this.popoverHelper?.destroy();\n this.popoverHelper = undefined;\n }\n\n render() {\n return (\n <div class=\"container\">\n {/* INPUT */}\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder == null ? this.dateFormat : this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n helpText={this.helpText}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onKeyDown={this.handleInputKeyDown}\n onInput={this.handleInputChange}\n onBlur={this.handleInputBlur}\n onSix-input-clear={this.handleInputClearClick}\n size={this.size}\n clearable={this.clearable}\n aria-describedby=\"date-format\"\n >\n <six-icon slot=\"prefix\" size={this.size === 'large' ? 'medium' : this.size}>\n today\n </six-icon>\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n {hasSlot(this.host, 'help-text') ? (\n <span slot=\"help-text\">\n <slot name=\"help-text\"></slot>\n </span>\n ) : null}\n </six-input>\n\n <span id=\"date-format\" class=\"sr-only\">\n {translateFormatHelp(this.language, this.dateFormat)}\n </span>\n\n {/* PANEL */}\n <div ref={(el) => (this.positioner = el)} class=\"positioner\">\n <div class=\"panel\" ref={(el) => (this.panel = el)}>\n {/* PANEL HEADER */}\n <header class=\"panel__header\">\n <six-icon-button\n tabindex=\"-1\"\n class=\"previous\"\n onClick={this.handlePreviousClick}\n name=\"arrow_back_ios\"\n />\n\n {this.selectionMode === 'day' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'month')}>\n {translateMonth(this.pointerDate.month, this.language)}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode !== 'year' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'year')}>\n {this.pointerDate.year}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode === 'year' && (\n <div class=\"selector\">\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n\n <six-icon-button tabindex=\"-1\" class=\"next\" onClick={this.handleNextClick} name=\"arrow_forward_ios\" />\n </header>\n\n {/* PANEL BODY */}\n {this.selectionMode === 'day' && (\n <DaySelection\n language={this.language}\n calendarGrid={createCalendarGrid({\n year: this.pointerDate.year,\n month: this.pointerDate.month,\n selected: this.value || undefined,\n minDate: this.min,\n maxDate: this.max,\n dateFormat: this.dateFormat,\n allowedDates: this.allowedDates,\n })}\n dayClicked={this.handleDayClick}\n />\n )}\n\n {this.selectionMode === 'month' && (\n <MonthSelection language={this.language} selected={this.value} monthClicked={this.handleMonthClicked} />\n )}\n\n {this.selectionMode === 'year' && (\n <YearSelection\n selected={this.value}\n pointerYear={this.pointerDate.year}\n yearCount={NUMBER_OF_YEARS_SHOWN}\n yearClicked={this.handleYearClicked}\n />\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"six-date.js","sourceRoot":"","sources":["../../../src/components/six-date/six-date.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { MonthSelection } from './components/month-selection';\nimport { YearSelection } from './components/year-selection';\nimport { DaySelection } from './components/day-selection';\nimport { Language } from '../../utils/error-messages';\nimport {\n cleanupValue,\n formatDate,\n fromFormattedString,\n nextPointerDate,\n previousPointerDate,\n todayAsPointerDate,\n toPointerDate,\n} from './iso-date';\nimport { createCalendarGrid } from './calendar-grid';\nimport { translateFormatHelp, translateMonth } from './translations';\nimport Popover from '../../utils/popover';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\n/**\n * A date picker component that allows users to select dates via a calendar popup or direct input.\n *\n * @since 5.0\n * @status beta\n *\n * @slot label - The date's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes the usage.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text property.\n */\n@Component({\n tag: 'six-date',\n styleUrl: 'six-date.scss',\n shadow: true,\n})\nexport class SixDate {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popoverHelper?: Popover;\n private panel?: HTMLElement;\n private positioner?: HTMLElement;\n\n @Element() host!: HTMLSixDateElement;\n\n /**\n * Current state of the date picker for day, month, or year selection.\n * Independent of the currently selected date value.\n */\n @State() pointerDate = todayAsPointerDate();\n\n @State() selectionMode: 'day' | 'month' | 'year' = 'day';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() language: Language = 'en';\n\n /**\n * If `true` the user can only select a date via the component in the popup but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which dates in the picker should be selectable.\n */\n @Prop() allowedDates: (date: string) => boolean = () => true;\n\n /**\n * The minimum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates before this value will be disabled in the date picker.\n * Example: '2024-01-01'\n */\n @Prop() min?: string;\n\n /**\n * The maximum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates after this value will be disabled in the date picker.\n * Example: '2025-01-01'\n */\n @Prop() max?: string;\n\n /**\n * The size of the date input field.\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field in ISO 8601 date format (yyyy-MM-dd).\n * Example: '2024-01-01'.\n *\n * When an invalid date is provided, it will be replaced with an empty string (''),\n * matching the behavior of native HTML <input type=\"date\">.\n *\n * The displayed format can be customized using the dateFormat property, but the underlying\n * value will always be stored in ISO format.\n */\n @Prop({ mutable: true }) value: string | '' = '';\n\n /** Defines the format pattern for displaying dates and how dates can be entered via keyboard.\n *\n * The parser accepts flexible input that doesn't strictly match the format pattern.\n * Input with missing leading zeros or incomplete years will be automatically normalized.\n * For example, with the pattern \"dd.MM.yyyy\": \"1.1.2025\" becomes \"01.01.2025\" and\n * \"1.1.225\" becomes \"01.01.0225\".\n *\n * Defaults to \"dd.MM.yyyy\".\n *\n * Available patterns:\n * - Year: \"yyyy\" (e.g., \"2021\")\n * - Month: \"MM\" (e.g., \"01\" for January) or \"M\" (e.g., \"1\" for January)\n * - Day: \"dd\" (e.g., \"08\" for the 8th) or \"d\" (e.g., \"8\" for the 8th)\n *\n * Examples:\n * - \"dd.MM.yyyy\" -> \"31.01.2024\"\n * - \"yyyy-MM-dd\" -> \"2024-01-31\"\n * - \"d.M.yyyy\" -> \"31.1.2024\"\n * */\n @Prop() dateFormat = 'dd.MM.yyyy';\n\n /** The label text. */\n @Prop() label = '';\n\n /** The input's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n @Watch('value')\n valueChanged() {\n this.updateValueAndPointerDate();\n }\n\n /**\n * Emitted when the control's value changes.\n * Event detail contains the new date value in ISO format (yyyy-MM-dd) or an empty string if cleared.\n */\n @Event({ eventName: 'six-change' }) sixChange!: EventEmitter<string | ''>;\n\n /**\n * Emitted when the control loses focus or the date picker popup is closed.\n * Does not contain event details.\n */\n @Event({ eventName: 'six-blur' }) sixBlur!: EventEmitter;\n\n /** Sets focus on the input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n private panelHideInProgress = false;\n\n private updateValueAndPointerDate() {\n const { value, pointerDate, warning } = cleanupValue(this.value);\n this.value = value;\n this.pointerDate = pointerDate;\n if (warning != null) {\n console.warn(warning);\n }\n this.updateInputElementValue();\n }\n\n private getSixInputBaseElement() {\n return this.inputElement?.shadowRoot?.querySelector('div.input') as HTMLDivElement;\n }\n\n private show() {\n if (this.popoverHelper?.isVisible === true || this.panelHideInProgress || this.disabled) return;\n this.popoverHelper?.show();\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private hide() {\n if (this.popoverHelper?.isVisible === false) return;\n\n this.updateInputElementValue();\n this.selectionMode = 'day';\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.panelHideInProgress = true;\n this.popoverHelper?.hide();\n }\n\n private initPopover() {\n const sixInputBaseElement = this.getSixInputBaseElement();\n if (this.inputElement == null || this.positioner == null || this.panel == null || sixInputBaseElement == null) {\n return;\n }\n\n this.eventListeners.add(sixInputBaseElement, 'click', () => this.show());\n\n this.popoverHelper = new Popover(sixInputBaseElement, this.positioner, {\n strategy: 'fixed',\n placement: 'bottom-start',\n transitionElement: this.panel,\n distance: 4,\n skidding: 0,\n onAfterHide: () => {\n this.panelHideInProgress = false;\n },\n });\n }\n\n private handlePreviousClick = () => {\n this.pointerDate = previousPointerDate(this.selectionMode, this.pointerDate);\n };\n\n private handleNextClick = () => {\n this.pointerDate = nextPointerDate(this.selectionMode, this.pointerDate);\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n const baseElement = this.getSixInputBaseElement();\n if (baseElement == null || this.panel == null) return;\n\n // Close when clicking outside\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.panel) && !path.includes(baseElement)) {\n this.hide();\n this.sixBlur.emit();\n }\n };\n\n private handleDayClick = (date: string) => {\n this.value = date;\n this.pointerDate = toPointerDate(this.value);\n this.hide();\n this.inputElement?.setFocus();\n this.sixChange.emit(this.value);\n };\n\n private handleMonthClicked = (month: number) => {\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = 'day';\n };\n\n private handleYearClicked = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = 'day';\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) return;\n event.stopPropagation();\n const isoDate = fromFormattedString(this.inputElement.value, this.dateFormat);\n\n if (isoDate != null) {\n this.value = isoDate;\n this.pointerDate = toPointerDate(this.value);\n } else if (this.inputElement.value === '') {\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.selectionMode = 'day';\n }\n this.sixChange.emit(this.value);\n };\n\n private handleInputBlur = () => {\n if (this.popoverHelper?.isVisible === false) {\n this.updateInputElementValue();\n }\n };\n\n private handleInputClearClick = () => {\n this.hide();\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.sixChange.emit(this.value);\n };\n\n private handleInputKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n this.hide();\n this.sixBlur.emit();\n }\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private updateInputElementValue() {\n if (this.inputElement && document.activeElement !== this.host) {\n this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);\n }\n }\n\n connectedCallback() {\n this.initPopover();\n this.updateValueAndPointerDate();\n this.eventListeners.forward('six-change', 'change', this.host);\n this.eventListeners.forward('six-blur', 'blur', this.host);\n }\n\n componentDidLoad() {\n this.updateInputElementValue();\n this.initPopover();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n this.popoverHelper?.destroy();\n this.popoverHelper = undefined;\n }\n\n render() {\n return (\n <div class=\"container\">\n {/* INPUT */}\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder == null ? this.dateFormat : this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n helpText={this.helpText}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onKeyDown={this.handleInputKeyDown}\n onInput={this.handleInputChange}\n onBlur={this.handleInputBlur}\n onSix-input-clear={this.handleInputClearClick}\n size={this.size}\n clearable={this.clearable}\n aria-describedby=\"date-format\"\n >\n <six-icon slot=\"prefix\" size={this.size === 'large' ? 'medium' : this.size}>\n today\n </six-icon>\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n {hasSlot(this.host, 'help-text') ? (\n <span slot=\"help-text\">\n <slot name=\"help-text\"></slot>\n </span>\n ) : null}\n </six-input>\n\n <span id=\"date-format\" class=\"sr-only\">\n {translateFormatHelp(this.language, this.dateFormat)}\n </span>\n\n {/* PANEL */}\n <div ref={(el) => (this.positioner = el)} class=\"positioner\">\n <div class=\"panel\" ref={(el) => (this.panel = el)}>\n {/* PANEL HEADER */}\n <header class=\"panel__header\">\n <six-icon-button\n tabindex=\"-1\"\n class=\"previous\"\n onClick={this.handlePreviousClick}\n name=\"arrow_back_ios\"\n />\n\n {this.selectionMode === 'day' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'month')}>\n {translateMonth(this.pointerDate.month, this.language)}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode !== 'year' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'year')}>\n {this.pointerDate.year}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode === 'year' && (\n <div class=\"selector\">\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n\n <six-icon-button tabindex=\"-1\" class=\"next\" onClick={this.handleNextClick} name=\"arrow_forward_ios\" />\n </header>\n\n {/* PANEL BODY */}\n {this.selectionMode === 'day' && (\n <DaySelection\n language={this.language}\n calendarGrid={createCalendarGrid({\n year: this.pointerDate.year,\n month: this.pointerDate.month,\n selected: this.value || undefined,\n minDate: this.min,\n maxDate: this.max,\n dateFormat: this.dateFormat,\n allowedDates: this.allowedDates,\n })}\n dayClicked={this.handleDayClick}\n />\n )}\n\n {this.selectionMode === 'month' && (\n <MonthSelection language={this.language} selected={this.value} monthClicked={this.handleMonthClicked} />\n )}\n\n {this.selectionMode === 'year' && (\n <YearSelection\n selected={this.value}\n pointerYear={this.pointerDate.year}\n yearCount={NUMBER_OF_YEARS_SHOWN}\n yearClicked={this.handleYearClicked}\n />\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -18,7 +18,7 @@ var SelectionMode;
|
|
|
18
18
|
})(SelectionMode || (SelectionMode = {}));
|
|
19
19
|
/**
|
|
20
20
|
* @since 1.0
|
|
21
|
-
* @status
|
|
21
|
+
* @status deprecated. Use six-date instead.
|
|
22
22
|
*
|
|
23
23
|
* @slot - Used to define a footer for the date picker.
|
|
24
24
|
* @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.
|
|
@@ -456,15 +456,15 @@ export class SixDatepicker {
|
|
|
456
456
|
render() {
|
|
457
457
|
var _a, _b, _c;
|
|
458
458
|
this.adjustPopupPosition();
|
|
459
|
-
return (h("div", { key: '
|
|
459
|
+
return (h("div", { key: '93ace26fe1c49f134681e47d198dcbb2a75cdb87', ref: (el) => (this.wrapper = el), class: "datepicker__container" }, h("six-input", { key: 'd823eebd5cb0a257902c6265298cf4ac5f155cc5', part: "base", value: formatDate(this.value, this.dateFormat), ref: (el) => (this.inputElement = el), placeholder: this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onClick: () => this.openCalendar(), size: this.size, class: { 'input--empty': this.value == null } }, this.renderCustomIcon(), this.renderClearable(), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null), this.open && (h("div", { key: '2a8e648342d25bf1685705137cecaa2d9ed7d482', part: "popup", ref: (el) => (this.popup = el), class: {
|
|
460
460
|
datepicker__popup: true,
|
|
461
461
|
'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,
|
|
462
462
|
'datepicker__popup--is-inline': this.inline,
|
|
463
|
-
} }, this.renderHeader(), this.renderBody(), this.type === 'date-time' && (h("six-timepicker", { key: '
|
|
463
|
+
} }, this.renderHeader(), this.renderBody(), this.type === 'date-time' && (h("six-timepicker", { key: '710a9c6b161dc6b1c1791a550d120d468f4f97d1', debounce: this.debounce, inline: true, "onSix-timepicker-change-debounced": (event) => this.onTimepickerChange(event), value: ((_a = this.selectedDate) === null || _a === void 0 ? void 0 : _a.getHours()) +
|
|
464
464
|
':' +
|
|
465
465
|
((_b = this.selectedDate) === null || _b === void 0 ? void 0 : _b.getMinutes()) +
|
|
466
466
|
':' +
|
|
467
|
-
((_c = this.selectedDate) === null || _c === void 0 ? void 0 : _c.getSeconds()) })), h("div", { key: '
|
|
467
|
+
((_c = this.selectedDate) === null || _c === void 0 ? void 0 : _c.getSeconds()) })), h("div", { key: '8bb2e6b2b81caf1ba06038a426b59d8fbdfe51d0', class: "datepicker__footer" }, h("slot", { key: '67fbcbfc24055d03cba4b7372f65932b83453c39' }))))));
|
|
468
468
|
}
|
|
469
469
|
adjustPopupPosition() {
|
|
470
470
|
adjustPopupForHoisting(this.hoist, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT, (isUp) => (this.isDropDownContentUp = isUp));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"six-datepicker.js","sourceRoot":"","sources":["../../../src/components/six-datepicker/six-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n rangeAround,\n removeTime,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport {\n adjustPopupForHoisting,\n adjustPopupForSmallScreens,\n calcIsDropDownContentUp,\n movePopup,\n} from '../../utils/popup';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a footer for the date picker.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private selectedDate?: Date;\n\n @Element() host!: HTMLSixDatepickerElement;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' | 'es' = 'en';\n\n /** Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the calendar should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a date via the component in the popup, but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Datepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (this.value != null && !isValidDate(this.value)) {\n console.warn('invalid date value: ', this.value);\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n this.selectedDate = this.value;\n this.updatePointerDates();\n }\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-select' }) sixSelect!: EventEmitter<SixDatepickerSelectPayload>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-datepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-blur' }) sixBlur!: EventEmitter<SixDatepickerSelectPayload>;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\n });\n }\n\n private updateDropdownDirection() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n this.isDropDownContentUp = calcIsDropDownContentUp(this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n };\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n };\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n private openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (this.open && keyboardEvent.key === 'Escape') {\n keyboardEvent.stopPropagation();\n this.closePopup();\n void this.inputElement?.setFocus();\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n this.closePopup();\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.select(undefined);\n this.sixClear.emit();\n };\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date?: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate(): Date | undefined {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n if (this.defaultDate == null) {\n return this.type === 'date' ? removeTime(now()) : now();\n } else {\n return toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate?: Date) {\n this.updateIfChanged(newDate);\n }\n\n private updateIfChanged(newDate?: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n this.value = newDate;\n this.sixSelect.emit(this.value);\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring?: string) {\n if (datestring == null) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate?.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n private onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate != null) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n if (time != null) {\n const hours = time.hours;\n const minutes = time.minutes;\n const seconds = time.seconds;\n if (hours != null) {\n newDate.setHours(hours, minutes, seconds);\n }\n }\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n private onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n private onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) {\n return;\n }\n event.stopPropagation();\n\n const inputValue = this.inputElement.value;\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n if (datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const dateAsString = formatDate(date, this.dateFormat);\n if (isValidDateString(dateAsString, this.dateFormat)) {\n this.selectedDate = toDate(dateAsString, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n }\n }\n };\n\n private handleOnBlur = (event: Event) => {\n event.stopPropagation();\n\n // clear the value if the user deleted the date\n if (this.inputElement?.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n\n const currentDate = toDate(this.inputElement?.value, this.dateFormat);\n if (isValidDate(currentDate) && this.value?.getTime() !== currentDate?.getTime()) {\n // Set the value if the input field's value has changed. This can happen if the blur occurs\n // before the change event had a chance to fire due to its debouncing.\n this.value = currentDate;\n }\n if (this.inputElement != null) {\n this.inputElement.value = formatDate(this.value, this.dateFormat);\n }\n this.sixBlur.emit(this.value);\n };\n\n componentWillLoad() {\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n componentDidLoad() {\n if (this.inputElement != null) {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n }\n\n componentDidRender() {\n this.adjustPopupPosition();\n }\n\n private renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={this.previousUnit}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={this.nextUnit}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n private renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={rangeAround(this.pointerDate.year, NUMBER_OF_YEARS_SHOWN)}\n onClickYearCell={this.onClickYearCell}\n />\n );\n }\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>today</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': this.value == null }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n debounce={this.debounce}\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n adjustPopupForSmallScreens(this.popup);\n }\n\n connectedCallback() {\n this.eventListeners.forward('six-datepicker-select', 'change', this.host);\n this.eventListeners.forward('six-datepicker-blur', 'blur', this.host);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"six-datepicker.js","sourceRoot":"","sources":["../../../src/components/six-datepicker/six-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n rangeAround,\n removeTime,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport {\n adjustPopupForHoisting,\n adjustPopupForSmallScreens,\n calcIsDropDownContentUp,\n movePopup,\n} from '../../utils/popup';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * @since 1.0\n * @status deprecated. Use six-date instead.\n *\n * @slot - Used to define a footer for the date picker.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private selectedDate?: Date;\n\n @Element() host!: HTMLSixDatepickerElement;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' | 'es' = 'en';\n\n /** Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the calendar should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a date via the component in the popup, but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Datepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (this.value != null && !isValidDate(this.value)) {\n console.warn('invalid date value: ', this.value);\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n this.selectedDate = this.value;\n this.updatePointerDates();\n }\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-select' }) sixSelect!: EventEmitter<SixDatepickerSelectPayload>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-datepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-blur' }) sixBlur!: EventEmitter<SixDatepickerSelectPayload>;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\n });\n }\n\n private updateDropdownDirection() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n this.isDropDownContentUp = calcIsDropDownContentUp(this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n };\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n };\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n private openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (this.open && keyboardEvent.key === 'Escape') {\n keyboardEvent.stopPropagation();\n this.closePopup();\n void this.inputElement?.setFocus();\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n this.closePopup();\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.select(undefined);\n this.sixClear.emit();\n };\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date?: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate(): Date | undefined {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n if (this.defaultDate == null) {\n return this.type === 'date' ? removeTime(now()) : now();\n } else {\n return toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate?: Date) {\n this.updateIfChanged(newDate);\n }\n\n private updateIfChanged(newDate?: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n this.value = newDate;\n this.sixSelect.emit(this.value);\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring?: string) {\n if (datestring == null) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate?.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n private onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate != null) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n if (time != null) {\n const hours = time.hours;\n const minutes = time.minutes;\n const seconds = time.seconds;\n if (hours != null) {\n newDate.setHours(hours, minutes, seconds);\n }\n }\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n private onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n private onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) {\n return;\n }\n event.stopPropagation();\n\n const inputValue = this.inputElement.value;\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n if (datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const dateAsString = formatDate(date, this.dateFormat);\n if (isValidDateString(dateAsString, this.dateFormat)) {\n this.selectedDate = toDate(dateAsString, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n }\n }\n };\n\n private handleOnBlur = (event: Event) => {\n event.stopPropagation();\n\n // clear the value if the user deleted the date\n if (this.inputElement?.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n\n const currentDate = toDate(this.inputElement?.value, this.dateFormat);\n if (isValidDate(currentDate) && this.value?.getTime() !== currentDate?.getTime()) {\n // Set the value if the input field's value has changed. This can happen if the blur occurs\n // before the change event had a chance to fire due to its debouncing.\n this.value = currentDate;\n }\n if (this.inputElement != null) {\n this.inputElement.value = formatDate(this.value, this.dateFormat);\n }\n this.sixBlur.emit(this.value);\n };\n\n componentWillLoad() {\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n componentDidLoad() {\n if (this.inputElement != null) {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n }\n\n componentDidRender() {\n this.adjustPopupPosition();\n }\n\n private renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={this.previousUnit}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={this.nextUnit}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n private renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={rangeAround(this.pointerDate.year, NUMBER_OF_YEARS_SHOWN)}\n onClickYearCell={this.onClickYearCell}\n />\n );\n }\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>today</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': this.value == null }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n debounce={this.debounce}\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n adjustPopupForSmallScreens(this.popup);\n }\n\n connectedCallback() {\n this.eventListeners.forward('six-datepicker-select', 'change', this.host);\n this.eventListeners.forward('six-datepicker-blur', 'blur', this.host);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
position: relative;
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
}
|
|
5
|
+
:host *, :host *:before, :host *:after {
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* Hides content visually while still making it available to screen readers */
|
|
10
|
+
.sr-only {
|
|
11
|
+
clip: rect(0 0 0 0);
|
|
12
|
+
clip-path: inset(50%);
|
|
13
|
+
height: 1px;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
position: absolute;
|
|
16
|
+
white-space: nowrap;
|
|
17
|
+
width: 1px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.form-control .form-control__label {
|
|
21
|
+
display: none;
|
|
22
|
+
}
|
|
23
|
+
.form-control .form-control__help-text {
|
|
24
|
+
display: none;
|
|
25
|
+
}
|
|
26
|
+
.form-control .form-control__error-text {
|
|
27
|
+
display: none;
|
|
28
|
+
text-align: left;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.form-control--has-label .form-control__label {
|
|
32
|
+
display: inline-block;
|
|
33
|
+
color: var(--six-input-label-color);
|
|
34
|
+
font-weight: var(--six-font-weight-bold);
|
|
35
|
+
margin-bottom: var(--six-spacing-x-small);
|
|
36
|
+
}
|
|
37
|
+
.form-control--has-label .form-control__label__required::after {
|
|
38
|
+
color: var(--six-color-danger-800);
|
|
39
|
+
content: "*";
|
|
40
|
+
transform: scale(1.1);
|
|
41
|
+
margin-left: var(--six-spacing-xxx-small);
|
|
42
|
+
position: absolute;
|
|
43
|
+
}
|
|
44
|
+
.form-control--has-label.form-control--small .form-control__label {
|
|
45
|
+
font-size: var(--six-input-label-font-size-small);
|
|
46
|
+
}
|
|
47
|
+
.form-control--has-label.form-control--medium .form-control__label {
|
|
48
|
+
font-size: var(--six-input-label-font-size-medium);
|
|
49
|
+
}
|
|
50
|
+
.form-control--has-label.form-control--large .form-control_label {
|
|
51
|
+
font-size: var(--six-input-label-font-size-large);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.form-control--has-help-text .form-control__help-text {
|
|
55
|
+
display: block;
|
|
56
|
+
color: var(--six-input-help-text-color);
|
|
57
|
+
margin-top: var(--six-spacing-x-small);
|
|
58
|
+
}
|
|
59
|
+
.form-control--has-help-text .form-control__help-text ::slotted(*) {
|
|
60
|
+
margin-top: var(--six-spacing-xxx-small);
|
|
61
|
+
}
|
|
62
|
+
.form-control--has-help-text.form-control--small .form-control__help-text {
|
|
63
|
+
font-size: var(--six-input-help-text-font-size-small);
|
|
64
|
+
}
|
|
65
|
+
.form-control--has-help-text.form-control--medium .form-control__help-text {
|
|
66
|
+
font-size: var(--six-input-help-text-font-size-medium);
|
|
67
|
+
}
|
|
68
|
+
.form-control--has-help-text.form-control--large .form-control__help-text {
|
|
69
|
+
font-size: var(--six-input-help-text-font-size-large);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.form-control--has-error-text .form-control__error-text {
|
|
73
|
+
display: block;
|
|
74
|
+
margin-top: var(--six-spacing-xxx-small);
|
|
75
|
+
}
|
|
76
|
+
.form-control--has-error-text .form-control__error-text ::slotted(*) {
|
|
77
|
+
margin-top: var(--six-spacing-xxx-small);
|
|
78
|
+
}
|
|
79
|
+
.form-control--has-error-text.form-control--small .form-control__error-text {
|
|
80
|
+
font-size: var(--six-input-help-text-font-size-small);
|
|
81
|
+
}
|
|
82
|
+
.form-control--has-error-text.form-control--medium .form-control__error-text {
|
|
83
|
+
font-size: var(--six-input-help-text-font-size-medium);
|
|
84
|
+
}
|
|
85
|
+
.form-control--has-error-text.form-control--large .form-control__error-text {
|
|
86
|
+
font-size: var(--six-input-help-text-font-size-large);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.form-control--disabled .form-control__help-text {
|
|
90
|
+
color: var(--six-input-help-text-color-disabled);
|
|
91
|
+
}
|
|
92
|
+
.form-control--disabled .form-control__label {
|
|
93
|
+
color: var(--six-input-label-color-disabled);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.form-control--invalid:not(.form-control--disabled) .form-control__label {
|
|
97
|
+
color: var(--six-input-label-color);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
:host {
|
|
101
|
+
--six-rating-color: var(--six-color-web-rock-500);
|
|
102
|
+
--six-rating-color-active: var(--six-color-warning-700);
|
|
103
|
+
--six-rating-color-disabled-opacity: 0.4;
|
|
104
|
+
display: block;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.six-rating {
|
|
108
|
+
display: inline-flex;
|
|
109
|
+
flex-direction: row;
|
|
110
|
+
user-select: none;
|
|
111
|
+
cursor: pointer;
|
|
112
|
+
}
|
|
113
|
+
.six-rating--readonly {
|
|
114
|
+
cursor: unset;
|
|
115
|
+
}
|
|
116
|
+
.six-rating--disabled {
|
|
117
|
+
cursor: not-allowed;
|
|
118
|
+
opacity: var(--six-rating-color-disabled-opacity);
|
|
119
|
+
}
|
|
120
|
+
.six-rating__star {
|
|
121
|
+
color: var(--six-rating-color);
|
|
122
|
+
}
|
|
123
|
+
.six-rating__star--filled {
|
|
124
|
+
color: var(--six-rating-color-active);
|
|
125
|
+
}
|