globuswebcomponents 2.10.11 → 2.10.13
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/gb-avatar_44.cjs.entry.js +83 -82
- package/dist/cjs/reusableModels-_LRAKnsh.js.map +1 -1
- package/dist/collection/components/gb-date-picker/gb-date-picker.js +3 -3
- package/dist/collection/components/gb-date-picker/gb-date-picker.js.map +1 -1
- package/dist/collection/components/gb-table/gb-table.js +82 -81
- package/dist/collection/components/gb-table/gb-table.js.map +1 -1
- package/dist/collection/models/reusableModels.js.map +1 -1
- package/dist/components/gb-date-picker.js +1 -1
- package/dist/components/gb-filter-modal.js +1 -1
- package/dist/components/gb-table-header.js +1 -1
- package/dist/components/gb-table.js +83 -82
- package/dist/components/gb-table.js.map +1 -1
- package/dist/components/{p-Dhj1-0eP.js → p-BqUYAF2A.js} +5 -5
- package/dist/components/p-BqUYAF2A.js.map +1 -0
- package/dist/components/{p-CbooQRoa.js → p-C__Zx-sJ.js} +3 -3
- package/dist/components/{p-CbooQRoa.js.map → p-C__Zx-sJ.js.map} +1 -1
- package/dist/components/{p-CoUI1smZ.js → p-DmjkaQ_5.js} +3 -3
- package/dist/components/{p-CoUI1smZ.js.map → p-DmjkaQ_5.js.map} +1 -1
- package/dist/components/p-cHn6O-Kf.js.map +1 -1
- package/dist/docs.json +7 -7
- package/dist/esm/gb-avatar_44.entry.js +83 -82
- package/dist/esm/reusableModels-cHn6O-Kf.js.map +1 -1
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/{p-7ab790f6.entry.js → p-66c49225.entry.js} +2 -2
- package/dist/globuscomponents/p-66c49225.entry.js.map +1 -0
- package/dist/globuscomponents/p-cHn6O-Kf.js.map +1 -1
- package/dist/types/components.d.ts +4 -4
- package/dist/types/models/reusableModels.d.ts +6 -0
- package/package.json +1 -1
- package/dist/components/p-Dhj1-0eP.js.map +0 -1
- package/dist/globuscomponents/p-7ab790f6.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gb-date-picker.js","sourceRoot":"","sources":["../../../src/components/gb-date-picker/gb-date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Fragment, Watch } from '@stencil/core';\r\nimport flatpickr from 'flatpickr';\r\nimport 'flatpickr/dist/flatpickr.min.css';\r\nimport { CustomLocale } from 'flatpickr/dist/types/locale';\r\nimport { CloseButtonPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-date-picker',\r\n styleUrl: 'gb-date-picker.css',\r\n shadow: true,\r\n})\r\nexport class GbDatePicker {\r\n @Element() el: HTMLElement;\r\n @Prop() placeholder: string = 'Start date - end date';\r\n @Prop({ mutable: true }) value: Date | Date[] | null = null;\r\n @Prop() format: string = 'M j, Y';\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() disabled: boolean = false;\r\n @Prop() iconPosition: CloseButtonPositions = 'right';\r\n @Prop() dropdownAlignment: CloseButtonPositions = 'left';\r\n @Prop() label: string = '';\r\n @Prop() formatLabel: boolean = true;\r\n @Prop() allowInput: boolean = false;\r\n @Prop() enableTime: boolean = false;\r\n @Prop() noCalendar: boolean = false;\r\n @Prop() twentyfourHr: boolean = false;\r\n @Prop() showMonths: number = 2;\r\n @Prop() fullWidth: boolean = false;\r\n @State() isCalendarShown: boolean = false;\r\n @State() breakpoint: 'mobile' | 'desktop' = 'desktop';\r\n @State() width: number = window.innerWidth;\r\n @State() displayValue: string;\r\n @State() selectionSource: 'sidebar' | 'calendar' | null = 'sidebar';\r\n @Event() dateChange: EventEmitter<Date | Date[]>;\r\n\r\n private inputEl!: HTMLInputElement;\r\n private picker: flatpickr.Instance;\r\n private activeSidebarItem?: HTMLElement;\r\n private hasAppliedDefaultPreset: boolean = false;\r\n private mirrorEl!: HTMLSpanElement;\r\n\r\n componentDidLoad() {\r\n // this.injectApplyButton();\r\n this.initializePicker();\r\n this.resizeInputFieldBasedOnTheValue();\r\n }\r\n\r\n componentWillLoad() {\r\n window.addEventListener('resize', this.handleResize);\r\n\r\n // ✅ Initialize displayValue before render to avoid state changes during componentDidLoad\r\n if (!this.displayValue) {\r\n this.displayValue = '';\r\n }\r\n }\r\n\r\n resizeInputFieldBasedOnTheValue() {\r\n if (!this.inputEl || !this.mirrorEl || this.fullWidth) return;\r\n\r\n const text = this.displayValue || this.inputEl.value || this.placeholder || '';\r\n\r\n this.mirrorEl.textContent = text;\r\n\r\n // padding + caret buffer\r\n const padding = 16;\r\n this.inputEl.style.width = `${this.mirrorEl.offsetWidth + padding}px`;\r\n }\r\n\r\n @Watch('displayValue')\r\n handleDisplayValueChange() {\r\n requestAnimationFrame(() => this.resizeInputFieldBasedOnTheValue());\r\n }\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n\r\n const newBreakpoint = this.width < 900 ? 'mobile' : 'desktop';\r\n\r\n if (newBreakpoint !== this.breakpoint) {\r\n this.breakpoint = newBreakpoint;\r\n\r\n if (this.picker) {\r\n this.picker.set('showMonths', this.getMonthCount());\r\n\r\n // Sidebar only makes sense for 2 months\r\n requestAnimationFrame(() => {\r\n this.maybeCreateSidebar(this.picker.calendarContainer);\r\n });\r\n }\r\n }\r\n };\r\n\r\n private getMonthCount(): number {\r\n return this.width < 900 ? 1 : this.showMonths;\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.picker) this.picker.destroy();\r\n }\r\n\r\n private initializePicker() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const input = this.inputEl;\r\n\r\n const customLocale: Partial<CustomLocale> = {\r\n weekdays: {\r\n shorthand: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n longhand: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n },\r\n rangeSeparator: ' - ',\r\n };\r\n\r\n if (!calendarContainer || !input) {\r\n console.warn('Calendar container or input not found.');\r\n return;\r\n }\r\n\r\n const fixDaysWidth = () => {\r\n const days = this.el.shadowRoot?.querySelector('.flatpickr-days') as HTMLElement;\r\n if (days) {\r\n days.style.width = 'auto';\r\n }\r\n };\r\n\r\n this.picker = flatpickr(input, {\r\n dateFormat: this.format,\r\n mode: this.mode,\r\n showMonths: this.getMonthCount(),\r\n appendTo: calendarContainer, // keep inside shadow root\r\n clickOpens: false,\r\n allowInput: false,\r\n altInput: false,\r\n altFormat: this.format,\r\n closeOnSelect: !this.enableTime,\r\n locale: customLocale,\r\n disableMobile: true,\r\n enableTime: this.enableTime,\r\n noCalendar: this.noCalendar,\r\n time_24hr: this.twentyfourHr,\r\n prevArrow: `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M12.5 4.99988C12.5 4.99988 7.50001 8.68232 7.5 9.99992C7.49999 11.3175 12.5 14.9999 12.5 14.9999\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n nextArrow: ` \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M7.50004 5C7.50004 5 12.5 8.68244 12.5 10C12.5 11.3176 7.5 15 7.5 15\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n onChange: (selectedDates: Date[]) => {\r\n // if (this.selectionSource === 'sidebar') return;\r\n this.selectionSource = 'calendar';\r\n this.activeSidebarItem?.removeAttribute('selected');\r\n this.activeSidebarItem = undefined;\r\n\r\n if (this.mode === 'range' && selectedDates.length === 2) {\r\n const [start, end] = selectedDates;\r\n const newDisplayValue = `${this.picker.formatDate(start, this.format)} - ${this.picker.formatDate(end, this.format)}`;\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = [start, end];\r\n this.dateChange.emit([start, end]);\r\n }\r\n\r\n if (this.mode === 'single' && selectedDates.length > 0) {\r\n const newDisplayValue = this.picker.formatDate(selectedDates[0], this.format);\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = selectedDates[0];\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n fixDaysWidth();\r\n },\r\n onOpen: () => {\r\n this.isCalendarShown = true;\r\n fixDaysWidth();\r\n },\r\n onClose: () => {\r\n this.isCalendarShown = false;\r\n },\r\n onReady: (_, __, fp) => {\r\n this.picker = fp; // ✅ FIRST\r\n\r\n requestAnimationFrame(() => {\r\n this.injectSidebarLayout(fp);\r\n this.maybeCreateSidebar(fp.calendarContainer);\r\n\r\n if (!this.hasAppliedDefaultPreset && !this.value && this.showMonths > 1) {\r\n this.hasAppliedDefaultPreset = true;\r\n this.selectionSource = 'sidebar';\r\n this.applyDefaultTodayPreset();\r\n } else {\r\n this.selectionSource = 'sidebar';\r\n }\r\n });\r\n },\r\n });\r\n\r\n input.addEventListener('input', () => {\r\n const dateStr = input.value;\r\n const parsedDate = this.picker.parseDate(dateStr, this.format);\r\n\r\n if (parsedDate && this.value !== parsedDate) {\r\n this.value = parsedDate;\r\n this.dateChange.emit(this.value);\r\n }\r\n });\r\n }\r\n\r\n clearDateSelection() {\r\n if (this.picker) {\r\n this.picker.clear();\r\n }\r\n }\r\n\r\n private applyDefaultTodayPreset() {\r\n if (!this.picker) return;\r\n\r\n const today = new Date();\r\n\r\n // Set flatpickr value\r\n this.picker.setDate(today, false);\r\n\r\n // Only update if value is still null/empty\r\n if (!this.value) {\r\n this.value = today;\r\n this.dateChange.emit(today);\r\n }\r\n\r\n // UI state - only update if changed\r\n if (this.displayValue !== 'Today') {\r\n this.displayValue = 'Today';\r\n }\r\n }\r\n\r\n private maybeCreateSidebar(calendar: HTMLElement) {\r\n // Remove existing sidebar\r\n calendar.querySelector('.fp-sidebar')?.remove();\r\n\r\n // Sidebar ONLY when months > 1 AND desktop\r\n if (this.breakpoint === 'mobile' || this.picker.config.showMonths <= 1) {\r\n calendar.classList.remove('has-sidebar');\r\n return;\r\n }\r\n\r\n const sidebar = this.createSidebar();\r\n calendar.classList.add('has-sidebar');\r\n calendar.prepend(sidebar);\r\n }\r\n\r\n injectSidebarLayout(fp: flatpickr.Instance) {\r\n const calendar = fp.calendarContainer as HTMLElement;\r\n if (!calendar || calendar.querySelector('.fp-layout')) return;\r\n\r\n const months = calendar.querySelector('.flatpickr-months');\r\n const inner = calendar.querySelector('.flatpickr-innerContainer');\r\n const time = calendar.querySelector('.flatpickr-time');\r\n\r\n if (!months || !inner) return;\r\n\r\n const layout = document.createElement('div');\r\n layout.className = 'fp-layout';\r\n\r\n const main = document.createElement('div');\r\n main.className = 'fp-main';\r\n\r\n main.append(months, inner);\r\n if (time && this.enableTime) main.appendChild(time); // 🔥 preserve time picker\r\n\r\n layout.appendChild(main);\r\n\r\n calendar.appendChild(layout);\r\n\r\n this.injectApplyButton();\r\n }\r\n\r\n createSidebar(): HTMLElement {\r\n const sidebar = document.createElement('div');\r\n sidebar.className = 'fp-sidebar';\r\n\r\n const ranges = [\r\n { key: 'today', label: 'Today' },\r\n { key: 'yesterday', label: 'Yesterday' },\r\n { key: 'this-week', label: 'This week' },\r\n { key: 'last-week', label: 'Last week' },\r\n { key: 'this-month', label: 'This month' },\r\n { key: 'last-month', label: 'Last month' },\r\n { key: 'this-year', label: 'This year' },\r\n { key: 'last-year', label: 'Last year' },\r\n ];\r\n\r\n ranges.forEach(r => {\r\n const item = document.createElement('gb-date-picker-list-item');\r\n item.setAttribute('label', r.label);\r\n item.dataset.range = r.key;\r\n\r\n item.addEventListener('mousedown', e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.clearPresetSelection(sidebar);\r\n (item as any).selected = true;\r\n\r\n this.applyPreset(r.key);\r\n this.picker.close(); //test this\r\n });\r\n\r\n sidebar.appendChild(item);\r\n\r\n if (r.key === 'today') {\r\n requestAnimationFrame(() => {\r\n this.selectSidebarItem(item);\r\n // this.applyPreset('today');\r\n });\r\n }\r\n });\r\n\r\n return sidebar;\r\n }\r\n\r\n selectSidebarItem(item: HTMLElement) {\r\n if (this.activeSidebarItem) {\r\n this.activeSidebarItem.removeAttribute('selected');\r\n }\r\n\r\n item.setAttribute('selected', 'true');\r\n this.activeSidebarItem = item;\r\n }\r\n\r\n applyPreset(key: string) {\r\n if (!this.picker) return;\r\n\r\n this.selectionSource = 'sidebar';\r\n\r\n const today = new Date();\r\n let start!: Date;\r\n let end!: Date;\r\n\r\n switch (key) {\r\n case 'today':\r\n start = end = new Date();\r\n this.displayValue = 'Today';\r\n break;\r\n\r\n case 'yesterday':\r\n start = end = new Date();\r\n start.setDate(start.getDate() - 1);\r\n this.displayValue = 'Yesterday';\r\n break;\r\n\r\n case 'this-week': {\r\n const d = new Date();\r\n start = new Date(d);\r\n start.setDate(d.getDate() - d.getDay());\r\n end = new Date();\r\n this.displayValue = 'This week';\r\n break;\r\n }\r\n\r\n case 'last-week': {\r\n const d = new Date();\r\n end = new Date(d);\r\n end.setDate(d.getDate() - d.getDay() - 1);\r\n start = new Date(end);\r\n start.setDate(end.getDate() - 6);\r\n this.displayValue = 'Last week';\r\n break;\r\n }\r\n\r\n case 'this-month':\r\n start = new Date(today.getFullYear(), today.getMonth(), 1);\r\n end = new Date();\r\n this.displayValue = 'This month';\r\n break;\r\n\r\n case 'last-month':\r\n start = new Date(today.getFullYear(), today.getMonth() - 1, 1);\r\n end = new Date(today.getFullYear(), today.getMonth(), 0);\r\n this.displayValue = 'Last month';\r\n break;\r\n\r\n case 'this-year':\r\n start = new Date(today.getFullYear(), 0, 1);\r\n end = new Date();\r\n this.displayValue = 'This year';\r\n break;\r\n\r\n case 'last-year':\r\n start = new Date(today.getFullYear() - 1, 0, 1);\r\n end = new Date(today.getFullYear() - 1, 11, 31);\r\n this.displayValue = 'Last year';\r\n break;\r\n }\r\n\r\n const value = this.mode === 'range' ? [start, end] : start;\r\n\r\n // Update picker WITHOUT triggering onChange\r\n this.picker.setDate(value, false);\r\n\r\n // Emit real data\r\n this.value = value;\r\n\r\n this.dateChange.emit(this.value);\r\n\r\n this.preventTimePickerClosing();\r\n }\r\n\r\n clearPresetSelection(sidebar: HTMLElement) {\r\n const items = sidebar.querySelectorAll('gb-date-picker-list-item');\r\n items.forEach(item => {\r\n (item as any).selected = false;\r\n });\r\n }\r\n\r\n injectApplyButton() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-time') as HTMLElement;\r\n\r\n if (!timeContainer) return;\r\n\r\n const buttonDiv = document.createElement('div');\r\n buttonDiv.classList.add('apply_button_wrapper');\r\n\r\n // Create custom button\r\n const applyBtn = document.createElement('gb-button');\r\n applyBtn.setAttribute('size', 'md');\r\n applyBtn.setAttribute('hierarchy', 'primary');\r\n applyBtn.setAttribute('icon', 'default');\r\n applyBtn.classList.add('apply-btn');\r\n\r\n // Add label inside\r\n applyBtn.innerHTML = `<p>OK</p>`;\r\n\r\n buttonDiv.insertAdjacentElement('afterend', applyBtn);\r\n buttonDiv.appendChild(applyBtn);\r\n\r\n // Click logic\r\n applyBtn.addEventListener('click', () => {\r\n const selected = this.picker.selectedDates;\r\n\r\n if (selected.length) {\r\n const formatted = selected[0];\r\n this.value = formatted;\r\n console.log(this.value);\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n this.picker.close();\r\n });\r\n\r\n // Insert after time div\r\n timeContainer.insertAdjacentElement('afterend', buttonDiv);\r\n }\r\n\r\n preventTimePickerClosing() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-am-pm') as HTMLElement;\r\n\r\n if ((this.mode === 'single' && this.enableTime) || (this.mode === 'range' && this.enableTime)) {\r\n calendarContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n if (timeContainer) {\r\n timeContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n }\r\n\r\n private toggleCalendar(event?: Event) {\r\n if (event) {\r\n const target = event.target as HTMLElement;\r\n if (this.el.shadowRoot && this.el.shadowRoot.contains(target)) {\r\n const calendarEl = this.el.shadowRoot.querySelector('.calendar-container');\r\n if (calendarEl && calendarEl.contains(target)) {\r\n return; // Ignore clicks inside the calendar\r\n }\r\n }\r\n }\r\n\r\n if (!this.picker) return;\r\n\r\n if (this.isCalendarShown) {\r\n this.picker.close();\r\n } else {\r\n this.picker.open();\r\n }\r\n }\r\n\r\n stripYearFormat(format: string): string {\r\n // Remove Y or ,Y or -Y or Y, or Y- and tidy separators\r\n // Handles tokens like \"M-j-Y\", \"F j, Y\", \"d/m/Y\", \"Y-m-d\", etc.\r\n let [datePart, timePart] = format.split(/\\s+(?=[HhKk])/);\r\n\r\n // Remove year tokens (Y or y) and any adjacent separator characters (, - / . space)\r\n datePart = datePart.replace(/(?:\\s*[-,/.]\\s*|\\s+)?[Yy](?:\\s*[-,/.]\\s*|\\s+)?/g, '');\r\n\r\n // Clean up doubled separators produced by removal (e.g. \"M--j\" -> \"M-j\")\r\n datePart = datePart.replace(/[-,/.]{2,}/g, '-');\r\n\r\n // Remove leading/trailing separators/spaces\r\n datePart = datePart.replace(/^[\\s-_,./]+|[\\s-_,./]+$/g, '');\r\n\r\n // Normalize multiple spaces\r\n datePart = datePart.replace(/\\s{2,}/g, ' ').trim();\r\n\r\n return timePart ? `${datePart} ${timePart}` : datePart;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`date_picker_container`}>\r\n {this.label && (\r\n <>\r\n {this.formatLabel ? (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div class={`date-picker-wrapper ${this.fullWidth ? 'full_width' : ''}`}>\r\n <div\r\n class={`inner_container ${this.iconPosition}`}\r\n onClick={() => {\r\n this.toggleCalendar();\r\n }}\r\n >\r\n {this.iconPosition === 'left' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n <input type=\"text\" ref={el => (this.inputEl = el as HTMLInputElement)} placeholder={this.placeholder} disabled={this.disabled} value={this.displayValue} readonly />\r\n <span ref={el => (this.mirrorEl = el as HTMLSpanElement)} id=\"mirror\">\r\n {this.displayValue || this.placeholder}\r\n </span>\r\n {this.iconPosition === 'right' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n\r\n {/* Always in DOM, just hidden by CSS */}\r\n <div class={`calendar-container ${!this.isCalendarShown ? 'hidden' : ''} ${this.dropdownAlignment}`}></div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"gb-date-picker.js","sourceRoot":"","sources":["../../../src/components/gb-date-picker/gb-date-picker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, State, Fragment, Watch } from '@stencil/core';\r\nimport flatpickr from 'flatpickr';\r\nimport 'flatpickr/dist/flatpickr.min.css';\r\nimport { CustomLocale } from 'flatpickr/dist/types/locale';\r\nimport { CloseButtonPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-date-picker',\r\n styleUrl: 'gb-date-picker.css',\r\n shadow: true,\r\n})\r\nexport class GbDatePicker {\r\n @Element() el: HTMLElement;\r\n @Prop() placeholder: string = 'Start date - end date';\r\n @Prop({ mutable: true }) value: Date | Date[] | null = null;\r\n @Prop() format: string = 'M j, Y';\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() disabled: boolean = false;\r\n @Prop() iconPosition: CloseButtonPositions = 'right';\r\n @Prop() dropdownAlignment: CloseButtonPositions = 'left';\r\n @Prop() label: string = '';\r\n @Prop() formatLabel: boolean = true;\r\n @Prop() allowInput: boolean = false;\r\n @Prop() enableTime: boolean = false;\r\n @Prop() noCalendar: boolean = false;\r\n @Prop() twentyfourHr: boolean = false;\r\n @Prop() showMonths: number = 2;\r\n @Prop() fullWidth: boolean = false;\r\n @State() isCalendarShown: boolean = false;\r\n @State() breakpoint: 'mobile' | 'desktop' = 'desktop';\r\n @State() width: number = window.innerWidth;\r\n @State() displayValue: string;\r\n @State() selectionSource: 'sidebar' | 'calendar' | null = 'sidebar';\r\n @Event() dateChange: EventEmitter<Date | Date[]>;\r\n\r\n private inputEl!: HTMLInputElement;\r\n private picker: flatpickr.Instance;\r\n private activeSidebarItem?: HTMLElement;\r\n private hasAppliedDefaultPreset: boolean = false;\r\n private mirrorEl!: HTMLSpanElement;\r\n\r\n componentDidLoad() {\r\n // this.injectApplyButton();\r\n this.initializePicker();\r\n this.resizeInputFieldBasedOnTheValue();\r\n }\r\n\r\n componentWillLoad() {\r\n window.addEventListener('resize', this.handleResize);\r\n\r\n // ✅ Initialize displayValue before render to avoid state changes during componentDidLoad\r\n if (!this.displayValue) {\r\n this.displayValue = '';\r\n }\r\n }\r\n\r\n resizeInputFieldBasedOnTheValue() {\r\n if (!this.inputEl || !this.mirrorEl || this.fullWidth) return;\r\n\r\n const text = this.displayValue || this.inputEl.value || this.placeholder || '';\r\n\r\n this.mirrorEl.textContent = text;\r\n\r\n // padding + caret buffer\r\n const padding = 16;\r\n this.inputEl.style.width = `${this.mirrorEl.offsetWidth + padding}px`;\r\n }\r\n\r\n @Watch('displayValue')\r\n handleDisplayValueChange() {\r\n requestAnimationFrame(() => this.resizeInputFieldBasedOnTheValue());\r\n }\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n\r\n const newBreakpoint = this.width < 900 ? 'mobile' : 'desktop';\r\n\r\n if (newBreakpoint !== this.breakpoint) {\r\n this.breakpoint = newBreakpoint;\r\n\r\n if (this.picker) {\r\n this.picker.set('showMonths', this.getMonthCount());\r\n\r\n // Sidebar only makes sense for 2 months\r\n requestAnimationFrame(() => {\r\n this.maybeCreateSidebar(this.picker.calendarContainer);\r\n });\r\n }\r\n }\r\n };\r\n\r\n private getMonthCount(): number {\r\n return this.width < 900 ? 1 : this.showMonths;\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.picker) this.picker.destroy();\r\n }\r\n\r\n private initializePicker() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const input = this.inputEl;\r\n\r\n const customLocale: Partial<CustomLocale> = {\r\n weekdays: {\r\n shorthand: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n longhand: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n },\r\n rangeSeparator: ' - ',\r\n };\r\n\r\n if (!calendarContainer || !input) {\r\n console.warn('Calendar container or input not found.');\r\n return;\r\n }\r\n\r\n const fixDaysWidth = () => {\r\n const days = this.el.shadowRoot?.querySelector('.flatpickr-days') as HTMLElement;\r\n if (days) {\r\n days.style.width = 'auto';\r\n }\r\n };\r\n\r\n this.picker = flatpickr(input, {\r\n dateFormat: this.format,\r\n mode: this.mode,\r\n showMonths: this.getMonthCount(),\r\n appendTo: calendarContainer, // keep inside shadow root\r\n clickOpens: false,\r\n allowInput: false,\r\n altInput: false,\r\n altFormat: this.format,\r\n closeOnSelect: !this.enableTime,\r\n locale: customLocale,\r\n disableMobile: true,\r\n enableTime: this.enableTime,\r\n noCalendar: this.noCalendar,\r\n time_24hr: this.twentyfourHr,\r\n prevArrow: `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M12.5 4.99988C12.5 4.99988 7.50001 8.68232 7.5 9.99992C7.49999 11.3175 12.5 14.9999 12.5 14.9999\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n nextArrow: ` \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M7.50004 5C7.50004 5 12.5 8.68244 12.5 10C12.5 11.3176 7.5 15 7.5 15\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n onChange: (selectedDates: Date[]) => {\r\n // if (this.selectionSource === 'sidebar') return;\r\n this.selectionSource = 'calendar';\r\n this.activeSidebarItem?.removeAttribute('selected');\r\n this.activeSidebarItem = undefined;\r\n\r\n if (this.mode === 'range' && selectedDates.length === 2) {\r\n const [start, end] = selectedDates;\r\n const newDisplayValue = `${this.picker.formatDate(start, this.format)} - ${this.picker.formatDate(end, this.format)}`;\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = [start, end];\r\n this.dateChange.emit([start, end]);\r\n }\r\n\r\n if (this.mode === 'single' && selectedDates.length > 0) {\r\n const newDisplayValue = this.picker.formatDate(selectedDates[0], this.format);\r\n if (this.displayValue !== newDisplayValue) {\r\n this.displayValue = newDisplayValue;\r\n }\r\n this.value = selectedDates[0];\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n fixDaysWidth();\r\n },\r\n onOpen: () => {\r\n this.isCalendarShown = true;\r\n fixDaysWidth();\r\n },\r\n onClose: () => {\r\n this.isCalendarShown = false;\r\n },\r\n onReady: (_, __, fp) => {\r\n this.picker = fp; // ✅ FIRST\r\n\r\n requestAnimationFrame(() => {\r\n this.injectSidebarLayout(fp);\r\n this.maybeCreateSidebar(fp.calendarContainer);\r\n\r\n if (!this.hasAppliedDefaultPreset && !this.value && this.showMonths > 1) {\r\n this.hasAppliedDefaultPreset = true;\r\n this.selectionSource = 'sidebar';\r\n this.applyDefaultTodayPreset();\r\n } else {\r\n this.selectionSource = 'sidebar';\r\n }\r\n });\r\n },\r\n });\r\n\r\n input.addEventListener('input', () => {\r\n const dateStr = input.value;\r\n const parsedDate = this.picker.parseDate(dateStr, this.format);\r\n\r\n if (parsedDate && this.value !== parsedDate) {\r\n this.value = parsedDate;\r\n this.dateChange.emit(this.value);\r\n }\r\n });\r\n }\r\n\r\n clearDateSelection() {\r\n if (this.picker) {\r\n this.picker.clear();\r\n }\r\n }\r\n\r\n private applyDefaultTodayPreset() {\r\n if (!this.picker) return;\r\n\r\n const today = new Date();\r\n\r\n // Set flatpickr value\r\n this.picker.setDate(today, false);\r\n\r\n // Only update if value is still null/empty\r\n if (!this.value) {\r\n this.value = today;\r\n this.dateChange.emit(today);\r\n }\r\n\r\n // UI state - only update if changed\r\n if (this.displayValue !== 'Today') {\r\n this.displayValue = 'Today';\r\n }\r\n }\r\n\r\n private maybeCreateSidebar(calendar: HTMLElement) {\r\n // Remove existing sidebar\r\n calendar.querySelector('.fp-sidebar')?.remove();\r\n\r\n // Sidebar ONLY when months > 1 AND desktop\r\n if (this.breakpoint === 'mobile' || this.picker.config.showMonths <= 1) {\r\n calendar.classList.remove('has-sidebar');\r\n return;\r\n }\r\n\r\n const sidebar = this.createSidebar();\r\n calendar.classList.add('has-sidebar');\r\n calendar.prepend(sidebar);\r\n }\r\n\r\n injectSidebarLayout(fp: flatpickr.Instance) {\r\n const calendar = fp.calendarContainer as HTMLElement;\r\n if (!calendar || calendar.querySelector('.fp-layout')) return;\r\n\r\n const months = calendar.querySelector('.flatpickr-months');\r\n const inner = calendar.querySelector('.flatpickr-innerContainer');\r\n const time = calendar.querySelector('.flatpickr-time');\r\n\r\n if (!months || !inner) return;\r\n\r\n const layout = document.createElement('div');\r\n layout.className = 'fp-layout';\r\n\r\n const main = document.createElement('div');\r\n main.className = 'fp-main';\r\n\r\n main.append(months, inner);\r\n if (time && this.enableTime) main.appendChild(time); // 🔥 preserve time picker\r\n\r\n layout.appendChild(main);\r\n\r\n calendar.appendChild(layout);\r\n\r\n this.injectApplyButton();\r\n }\r\n\r\n createSidebar(): HTMLElement {\r\n const sidebar = document.createElement('div');\r\n sidebar.className = 'fp-sidebar';\r\n\r\n const ranges = [\r\n { key: 'today', label: 'Today' },\r\n { key: 'yesterday', label: 'Yesterday' },\r\n { key: 'this-week', label: 'This week' },\r\n { key: 'last-week', label: 'Last week' },\r\n { key: 'this-month', label: 'This month' },\r\n { key: 'last-month', label: 'Last month' },\r\n { key: 'this-year', label: 'This year' },\r\n { key: 'last-year', label: 'Last year' },\r\n ];\r\n\r\n ranges.forEach(r => {\r\n const item = document.createElement('gb-date-picker-list-item');\r\n item.setAttribute('label', r.label);\r\n item.dataset.range = r.key;\r\n\r\n item.addEventListener('mousedown', e => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.clearPresetSelection(sidebar);\r\n (item as any).selected = true;\r\n\r\n this.applyPreset(r.key);\r\n this.picker.close(); //test this\r\n });\r\n\r\n sidebar.appendChild(item);\r\n\r\n if (r.key === 'today') {\r\n requestAnimationFrame(() => {\r\n this.selectSidebarItem(item);\r\n // this.applyPreset('today');\r\n });\r\n }\r\n });\r\n\r\n return sidebar;\r\n }\r\n\r\n selectSidebarItem(item: HTMLElement) {\r\n if (this.activeSidebarItem) {\r\n this.activeSidebarItem.removeAttribute('selected');\r\n }\r\n\r\n item.setAttribute('selected', 'true');\r\n this.activeSidebarItem = item;\r\n }\r\n\r\n applyPreset(key: string) {\r\n if (!this.picker) return;\r\n\r\n this.selectionSource = 'sidebar';\r\n\r\n const today = new Date();\r\n let start!: Date;\r\n let end!: Date;\r\n\r\n switch (key) {\r\n case 'today':\r\n start = end = new Date();\r\n this.displayValue = 'Today';\r\n break;\r\n\r\n case 'yesterday':\r\n start = end = new Date();\r\n start.setDate(start.getDate() - 1);\r\n this.displayValue = 'Yesterday';\r\n break;\r\n\r\n case 'this-week': {\r\n const d = new Date();\r\n start = new Date(d);\r\n start.setDate(d.getDate() - d.getDay());\r\n end = new Date();\r\n this.displayValue = 'This week';\r\n break;\r\n }\r\n\r\n case 'last-week': {\r\n const d = new Date();\r\n end = new Date(d);\r\n end.setDate(d.getDate() - d.getDay() - 1);\r\n start = new Date(end);\r\n start.setDate(end.getDate() - 6);\r\n this.displayValue = 'Last week';\r\n break;\r\n }\r\n\r\n case 'this-month':\r\n start = new Date(today.getFullYear(), today.getMonth(), 1);\r\n end = new Date();\r\n this.displayValue = 'This month';\r\n break;\r\n\r\n case 'last-month':\r\n start = new Date(today.getFullYear(), today.getMonth() - 1, 1);\r\n end = new Date(today.getFullYear(), today.getMonth(), 0);\r\n this.displayValue = 'Last month';\r\n break;\r\n\r\n case 'this-year':\r\n start = new Date(today.getFullYear(), 0, 1);\r\n end = new Date();\r\n this.displayValue = 'This year';\r\n break;\r\n\r\n case 'last-year':\r\n start = new Date(today.getFullYear() - 1, 0, 1);\r\n end = new Date(today.getFullYear() - 1, 11, 31);\r\n this.displayValue = 'Last year';\r\n break;\r\n }\r\n\r\n const value = this.mode === 'range' ? [start, end] : start;\r\n\r\n // Update picker WITHOUT triggering onChange\r\n this.picker.setDate(value, false);\r\n\r\n // Emit real data\r\n this.value = value;\r\n\r\n this.dateChange.emit(this.value);\r\n\r\n this.preventTimePickerClosing();\r\n }\r\n\r\n clearPresetSelection(sidebar: HTMLElement) {\r\n const items = sidebar.querySelectorAll('gb-date-picker-list-item');\r\n items.forEach(item => {\r\n (item as any).selected = false;\r\n });\r\n }\r\n\r\n injectApplyButton() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-time') as HTMLElement;\r\n\r\n if (!timeContainer) return;\r\n\r\n const buttonDiv = document.createElement('div');\r\n buttonDiv.classList.add('apply_button_wrapper');\r\n\r\n // Create custom button\r\n const applyBtn = document.createElement('gb-button');\r\n applyBtn.setAttribute('size', 'md');\r\n applyBtn.setAttribute('hierarchy', 'primary');\r\n applyBtn.setAttribute('icon', 'default');\r\n applyBtn.classList.add('apply-btn');\r\n\r\n // Add label inside\r\n applyBtn.innerHTML = `<p>OK</p>`;\r\n\r\n buttonDiv.insertAdjacentElement('afterend', applyBtn);\r\n buttonDiv.appendChild(applyBtn);\r\n\r\n // Click logic\r\n applyBtn.addEventListener('click', () => {\r\n const selected = this.picker.selectedDates;\r\n\r\n if (selected.length) {\r\n const formatted = selected[0];\r\n this.value = formatted;\r\n // console.log(this.value);\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n this.picker.close();\r\n });\r\n\r\n // Insert after time div\r\n timeContainer.insertAdjacentElement('afterend', buttonDiv);\r\n }\r\n\r\n preventTimePickerClosing() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const timeContainer = calendarContainer.querySelector('.flatpickr-am-pm') as HTMLElement;\r\n\r\n if ((this.mode === 'single' && this.enableTime) || (this.mode === 'range' && this.enableTime)) {\r\n calendarContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n if (timeContainer) {\r\n timeContainer.addEventListener('click', e => {\r\n e.stopPropagation();\r\n });\r\n }\r\n }\r\n\r\n private toggleCalendar(event?: Event) {\r\n if (event) {\r\n const target = event.target as HTMLElement;\r\n if (this.el.shadowRoot && this.el.shadowRoot.contains(target)) {\r\n const calendarEl = this.el.shadowRoot.querySelector('.calendar-container');\r\n if (calendarEl && calendarEl.contains(target)) {\r\n return; // Ignore clicks inside the calendar\r\n }\r\n }\r\n }\r\n\r\n if (!this.picker) return;\r\n\r\n if (this.isCalendarShown) {\r\n this.picker.close();\r\n } else {\r\n this.picker.open();\r\n }\r\n }\r\n\r\n stripYearFormat(format: string): string {\r\n // Remove Y or ,Y or -Y or Y, or Y- and tidy separators\r\n // Handles tokens like \"M-j-Y\", \"F j, Y\", \"d/m/Y\", \"Y-m-d\", etc.\r\n let [datePart, timePart] = format.split(/\\s+(?=[HhKk])/);\r\n\r\n // Remove year tokens (Y or y) and any adjacent separator characters (, - / . space)\r\n datePart = datePart.replace(/(?:\\s*[-,/.]\\s*|\\s+)?[Yy](?:\\s*[-,/.]\\s*|\\s+)?/g, '');\r\n\r\n // Clean up doubled separators produced by removal (e.g. \"M--j\" -> \"M-j\")\r\n datePart = datePart.replace(/[-,/.]{2,}/g, '-');\r\n\r\n // Remove leading/trailing separators/spaces\r\n datePart = datePart.replace(/^[\\s-_,./]+|[\\s-_,./]+$/g, '');\r\n\r\n // Normalize multiple spaces\r\n datePart = datePart.replace(/\\s{2,}/g, ' ').trim();\r\n\r\n return timePart ? `${datePart} ${timePart}` : datePart;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`date_picker_container`}>\r\n {this.label && (\r\n <>\r\n {this.formatLabel ? (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"date_picker_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div class={`date-picker-wrapper ${this.fullWidth ? 'full_width' : ''}`}>\r\n <div\r\n class={`inner_container ${this.iconPosition}`}\r\n onClick={() => {\r\n this.toggleCalendar();\r\n }}\r\n >\r\n {this.iconPosition === 'left' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n <input type=\"text\" ref={el => (this.inputEl = el as HTMLInputElement)} placeholder={this.placeholder} disabled={this.disabled} value={this.displayValue} readonly />\r\n <span ref={el => (this.mirrorEl = el as HTMLSpanElement)} id=\"mirror\">\r\n {this.displayValue || this.placeholder}\r\n </span>\r\n {this.iconPosition === 'right' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n\r\n {/* Always in DOM, just hidden by CSS */}\r\n <div class={`calendar-container ${!this.isCalendarShown ? 'hidden' : ''} ${this.dropdownAlignment}`}></div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -4,68 +4,68 @@ export class GbTable {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
this.loading = false;
|
|
6
6
|
this.columns = [
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
7
|
+
// { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },
|
|
8
|
+
// { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },
|
|
9
|
+
// { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },
|
|
10
|
+
// { key: 'role', label: 'Role' },
|
|
11
|
+
// { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number', cellStyle: (row) => ({color: row.amount > 200 ? 'green' : ''}) },
|
|
12
|
+
// {
|
|
13
|
+
// key: 'status',
|
|
14
|
+
// label: 'Status',
|
|
15
|
+
// cellComponent: 'gb-badge',
|
|
16
|
+
// cellProps: row => ({ color: row.status === 'Completed' ? 'success' : 'error', type: 'badge_modern', size: 'sm', icon: 'dot' }),
|
|
17
|
+
// cellSlots: {
|
|
18
|
+
// default: {
|
|
19
|
+
// tag: 'p',
|
|
20
|
+
// content: row => row.status,
|
|
21
|
+
// },
|
|
22
|
+
// },
|
|
23
|
+
// },
|
|
24
24
|
];
|
|
25
25
|
this.data = [
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
26
|
+
// {
|
|
27
|
+
// id: '#30011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',
|
|
28
|
+
// date: 'Jan 1, 2022',
|
|
29
|
+
// name: 'Emma Johnson',
|
|
30
|
+
// role: 'Frontend Developer',
|
|
31
|
+
// level: 'Today',
|
|
32
|
+
// customer: 'John Doe',
|
|
33
|
+
// amount: '$120.00',
|
|
34
|
+
// status: 'Completed',
|
|
35
|
+
// },
|
|
36
|
+
// { id: '#3002', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
|
|
37
|
+
// { id: '#3003', date: new Date(), name: 'Liam Smith', role: 'Frontend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
|
|
38
|
+
// { id: '#3004', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
|
|
39
|
+
// { id: '#3005', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
|
|
40
|
+
// { id: '#3006', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },
|
|
41
|
+
// { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },
|
|
42
|
+
// { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },
|
|
43
|
+
// { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },
|
|
44
|
+
// { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },
|
|
45
|
+
// { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },
|
|
46
|
+
// { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },
|
|
47
|
+
// { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },
|
|
48
|
+
// { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },
|
|
49
|
+
// { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },
|
|
50
|
+
// { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },
|
|
51
|
+
// { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },
|
|
52
|
+
// { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },
|
|
53
|
+
// { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },
|
|
54
|
+
// { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },
|
|
55
|
+
// { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },
|
|
56
|
+
// { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },
|
|
57
|
+
// { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },
|
|
58
|
+
// { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },
|
|
59
|
+
// { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },
|
|
60
|
+
// { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },
|
|
61
|
+
// { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },
|
|
62
|
+
// { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },
|
|
63
|
+
// { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },
|
|
64
|
+
// { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },
|
|
65
|
+
// { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },
|
|
66
|
+
// { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },
|
|
67
|
+
// { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },
|
|
68
|
+
// { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },
|
|
69
69
|
];
|
|
70
70
|
this.tableHeaderConfig = {
|
|
71
71
|
tableHeading: false,
|
|
@@ -135,7 +135,7 @@ export class GbTable {
|
|
|
135
135
|
this.draggedIndex = null;
|
|
136
136
|
this.handlePageChange = ({ detail }) => {
|
|
137
137
|
const { pageNumber, pageSize } = detail;
|
|
138
|
-
console.log(detail);
|
|
138
|
+
// console.log(detail);
|
|
139
139
|
// Update these state variables to trigger a re-render
|
|
140
140
|
this.internalPageSize = pageSize;
|
|
141
141
|
this.internalCurrentPage = pageNumber;
|
|
@@ -193,7 +193,7 @@ export class GbTable {
|
|
|
193
193
|
this.rowActionClicked.emit({ action, row });
|
|
194
194
|
}
|
|
195
195
|
renderCell(col, row) {
|
|
196
|
-
var _a, _b, _c;
|
|
196
|
+
var _a, _b, _c, _d, _e;
|
|
197
197
|
if (col.cellComponent) {
|
|
198
198
|
const Tag = col.cellComponent;
|
|
199
199
|
// resolve props
|
|
@@ -224,13 +224,15 @@ export class GbTable {
|
|
|
224
224
|
return (h("div", { class: "text_and_supporting_text" }, h("div", { class: "primary" }, h("p", { class: "text-sm-medium" }, primary)), supporting && (h("div", { class: "supporting" }, h("p", { class: "text-xs-regular" }, supporting)))));
|
|
225
225
|
}
|
|
226
226
|
const value = this.getCellValue(col, row);
|
|
227
|
-
|
|
227
|
+
const resolvedClass = typeof col.cellClass === 'function' ? col.cellClass(row) : ((_d = col.cellClass) !== null && _d !== void 0 ? _d : '');
|
|
228
|
+
const resolvedStyle = typeof col.cellStyle === 'function' ? col.cellStyle(row) : (_e = col.cellStyle) !== null && _e !== void 0 ? _e : {};
|
|
229
|
+
return h("p", { class: `body_text text-sm-regular ${resolvedClass}`, style: resolvedStyle }, value);
|
|
228
230
|
}
|
|
229
231
|
getCellValue(col, row) {
|
|
230
232
|
if (col.value) {
|
|
231
233
|
return col.value(row);
|
|
232
234
|
}
|
|
233
|
-
return
|
|
235
|
+
return row[col.key];
|
|
234
236
|
}
|
|
235
237
|
emitPaginationDetails({ detail }) {
|
|
236
238
|
this.pageItemSelected.emit(detail);
|
|
@@ -350,27 +352,26 @@ export class GbTable {
|
|
|
350
352
|
this.selectionChanged.emit(selected);
|
|
351
353
|
}
|
|
352
354
|
get displayedData() {
|
|
353
|
-
|
|
354
|
-
console.log('
|
|
355
|
-
console.log('
|
|
356
|
-
console.log('page:', this.internalCurrentPage, 'size:', this.internalPageSize);
|
|
355
|
+
// console.log('sortedData length:', this.sortedData.length);
|
|
356
|
+
// console.log('mode:', this.paginationConfig?.paginationMode);
|
|
357
|
+
// console.log('page:', this.internalCurrentPage, 'size:', this.internalPageSize);
|
|
357
358
|
if (!this.paginationConfig || this.paginationConfig.paginationMode === 'external') {
|
|
358
359
|
return this.sortedData;
|
|
359
360
|
}
|
|
360
361
|
const start = (this.internalCurrentPage - 1) * this.internalPageSize;
|
|
361
362
|
const end = start + this.internalPageSize;
|
|
362
|
-
console.log('slice:', start, end);
|
|
363
|
+
// console.log('slice:', start, end);
|
|
363
364
|
return this.sortedData.slice(start, end);
|
|
364
365
|
}
|
|
365
366
|
get totalPages() {
|
|
366
|
-
|
|
367
|
-
console.log('
|
|
368
|
-
console.log('
|
|
369
|
-
|
|
367
|
+
// console.log('sortedData length:', this.sortedData.length);
|
|
368
|
+
// console.log('internalPageSize:', this.internalPageSize);
|
|
369
|
+
// console.log('paginationMode:', this.paginationConfig?.paginationMode);
|
|
370
|
+
var _a;
|
|
370
371
|
if (!this.paginationConfig)
|
|
371
372
|
return 1;
|
|
372
373
|
const pageSize = this.internalPageSize || 1;
|
|
373
|
-
const totalItems = this.paginationConfig.paginationMode === 'internal' ? this.sortedData.length : ((
|
|
374
|
+
const totalItems = this.paginationConfig.paginationMode === 'internal' ? this.sortedData.length : ((_a = this.paginationConfig.totalItems) !== null && _a !== void 0 ? _a : 0);
|
|
374
375
|
return Math.max(1, Math.ceil(totalItems / pageSize));
|
|
375
376
|
}
|
|
376
377
|
onDataChange() {
|
|
@@ -502,7 +503,7 @@ export class GbTable {
|
|
|
502
503
|
}, 300); // match CSS duration
|
|
503
504
|
}
|
|
504
505
|
onApplyFilters(detail) {
|
|
505
|
-
console.log(detail.detail);
|
|
506
|
+
// console.log(detail.detail);
|
|
506
507
|
this.applyFilters.emit(detail.detail);
|
|
507
508
|
this.showFilterModalInternal = false;
|
|
508
509
|
}
|
|
@@ -510,16 +511,16 @@ export class GbTable {
|
|
|
510
511
|
window.removeEventListener('resize', this.checkViewport);
|
|
511
512
|
}
|
|
512
513
|
render() {
|
|
513
|
-
return (h("div", { key: '
|
|
514
|
+
return (h("div", { key: 'db94ba1f0c6df50a9912269e5868410965a1731d', class: `table_wrapper` }, h("gb-table-header", { key: 'baf7efe46da8fd6644265c151e2e2b180207c9ce', mode: this.tableHeaderConfig.datePickerMode, "table-heading": this.tableHeaderConfig.tableHeading, "table-heading-label": this.tableHeaderConfig.tableHeadingLabel, "show-search": this.tableHeaderConfig.showSearch, "show-date-filter": this.tableHeaderConfig.showDateFilter, "show-filter": this.tableHeaderConfig.showFilter, "show-export": this.tableHeaderConfig.showExport, "show-column-options": this.tableHeaderConfig.showColumnOptions, "show-refresh-button": this.tableHeaderConfig.showRefreshButton, "input-placeholder": this.tableHeaderConfig.inputPlaceholder, "date-picker-placeholder": this.tableHeaderConfig.datePickerPlaceholder, "show-entire-data": this.tableHeaderConfig.showEntireData, "show-layout-toggle": this.tableHeaderConfig.showLayoutToggle, "filter-state": this.tableHeaderConfig.filterState, "filter-count": this.tableHeaderConfig.filterCount, "export-button-state": this.tableHeaderConfig.exportButtonState, "pdf-state": this.tableHeaderConfig.pdfState, "csv-state": this.tableHeaderConfig.csvState, onInputValueChanged: this.emitSearchValue.bind(this), onDateChange: this.emitDateChange.bind(this), onColumnOptionsButtonClicked: this.columnOptionsButtonClicked(), onExportClicked: e => this.exportButtonClicked(e), onFilterButtonClicked: () => this.openFilterModal() }), this.showColumnsPanel && (h("div", { key: '7b0cf14209c88a9906e7f9d76b4b754d2b57367a', class: "dialog", style: {
|
|
514
515
|
transform: `translate(${this.modalPosition.x}px, ${this.modalPosition.y}px)`,
|
|
515
|
-
} }, h("div", { key: '
|
|
516
|
+
} }, h("div", { key: '732916316e147ce1dc1ca6b1376812bd1c972820', class: "column-modal" }, h("div", { key: '721fb6a9b5fe32fcdc0da5603b556782dabbd48c', class: "modal_header" }, h("div", { key: 'd568e6b262c020615250a0cf074ab0eeab57585d', class: "modal_header_content", onPointerDown: this.onModalPointerDown }, h("h4", { key: '3f5d07af3cdc6733f8df0b15ec8b6a883a6251f3', class: "heading display-xs-semi-bold" }, "Column Options"), h("gb-button-close", { key: '527eaf24a973964cb2b208e1a58dc3da52c2ee0e', class: "close_button", color: "gray", size: "sm", onClick: () => (this.showColumnsPanel = false) }))), h("div", { key: '9833cb5a3245b9627e3575dc72d257b89ea6d410', class: "content_wrapper" }, h("div", { key: '7d3f5bbcf994e95d1256fcd6d0d4a0ede0313e48', class: "modal_content" }, this.internalColumns.map((col, index) => (h("div", { class: "column_option", draggable: true, onDragStart: () => (this.draggedIndex = index), onDragOver: e => e.preventDefault(), onDrop: () => {
|
|
516
517
|
if (this.draggedIndex !== null && this.draggedIndex !== index) {
|
|
517
518
|
this.reorderColumns(this.draggedIndex, index);
|
|
518
519
|
}
|
|
519
520
|
this.draggedIndex = null;
|
|
520
521
|
} }, h("div", { class: "label_and_dragger" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M8 6H8.00635M8 12H8.00635M8 18H8.00635M15.9937 6H16M15.9937 12H16M15.9937 18H16", stroke: "var(--color-icon, #4B5565)", "stroke-width": "2.5", "stroke-linecap": "round", "stroke-linejoin": "round" })), h("p", { class: "label text-md-regular" }, col.label)), h("gb-toggle", { size: "sm", state: StateEnum.Default, position: "right", pressed: col.visible, text: false, onToggleClicked: e => {
|
|
521
522
|
this.toggleColumn(e, col.key);
|
|
522
|
-
} })))), h("div", { key: '
|
|
523
|
+
} })))), h("div", { key: 'bef112827b7898c2a27a5a0ecada4ce1df9e5151', class: "modal-actions" })))))), this.showFilterModalInternal && (h("div", { key: '5415a76c52c1f80d681cd613c91c6acdf5d424aa', class: `filter_modal_wrapper ${this.isFilterModalVisible ? 'open' : 'closing'}` }, h("gb-filter-modal", { key: '1c7e3d27495749c2dd4c0155d2f2ffe9f7568e52', class: "filter_modal", filterConfig: this.filterConfig, onClose: e => {
|
|
523
524
|
e.stopPropagation();
|
|
524
525
|
this.closeFilterModal();
|
|
525
526
|
}, onApplyFilters: e => this.onApplyFilters(e) }))), this.internalLoading ? (
|
|
@@ -558,7 +559,7 @@ export class GbTable {
|
|
|
558
559
|
// ✅ No loading + no data = empty state
|
|
559
560
|
h("div", { class: "empty_state_wrapper" }, h("gb-empty-state", { size: "sm", "main-text": this.emptyStateConfig.mainText, "supporting-text": this.emptyStateConfig.supportingText, color: this.emptyStateConfig.color, theme: this.emptyStateConfig.theme, "primary-button-icon-leading-swap": "assets/plus.svg", "illustration-icon": this.emptyStateConfig.illustrationIcon, background: true, "background-type": "grid", icon: "illustration", "illustration-style": "cloud" }))) : (
|
|
560
561
|
// ✅ Has data + not loading
|
|
561
|
-
h(Fragment, null, this.isMobile ? this.renderMobileView() : this.renderDesktopView())), this.paginationConfig && this.data.length > 0 && (h("gb-pagination", { key: '
|
|
562
|
+
h(Fragment, null, this.isMobile ? this.renderMobileView() : this.renderDesktopView())), this.paginationConfig && this.data.length > 0 && (h("gb-pagination", { key: '162a6f2d43f693d8a4a6dd44940ee3e1b7a9b49f', "entries-dropdown-menu-position": this.paginationConfig.entriesDropdownMenuPosition, "page-size": this.paginationConfig.paginationMode === 'internal' ? this.internalPageSize : this.paginationConfig.pageSize, "current-page": this.paginationConfig.paginationMode === 'internal' ? this.internalCurrentPage : this.paginationConfig.currentPage, "total-pages": this.totalPages, onPageItemSelected: this.handlePageChange.bind(this) }))));
|
|
562
563
|
}
|
|
563
564
|
static get is() { return "gb-table"; }
|
|
564
565
|
static get encapsulation() { return "shadow"; }
|
|
@@ -616,7 +617,7 @@ export class GbTable {
|
|
|
616
617
|
},
|
|
617
618
|
"getter": false,
|
|
618
619
|
"setter": false,
|
|
619
|
-
"defaultValue": "[\r\n { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },\r\n { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },\r\n { key: 'role', label: 'Role' },\r\n { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number' },\r\n {\r\n
|
|
620
|
+
"defaultValue": "[\r\n // { key: 'id', label: '#', width: '70px', sortable: true, sortType: 'string', mobile: { position: 'top_left' } },\r\n // { key: 'date', label: 'Date', value: row => row.date.toLocaleString(), mobile: { position: 'bottom_left' } },\r\n // { key: 'name', label: 'Name', sortable: true, sortType: 'string', helpIcon: true, supportingText: row => row.role, mobile: { position: 'top_right' } },\r\n // { key: 'role', label: 'Role' },\r\n // { key: 'amount', label: 'Amount', align: 'right', sortable: true, sortType: 'number', cellStyle: (row) => ({color: row.amount > 200 ? 'green' : ''}) },\r\n // {\r\n // key: 'status',\r\n // label: 'Status',\r\n // cellComponent: 'gb-badge',\r\n // cellProps: row => ({ color: row.status === 'Completed' ? 'success' : 'error', type: 'badge_modern', size: 'sm', icon: 'dot' }),\r\n // cellSlots: {\r\n // default: {\r\n // tag: 'p',\r\n // content: row => row.status,\r\n // },\r\n // },\r\n // },\r\n ]"
|
|
620
621
|
},
|
|
621
622
|
"data": {
|
|
622
623
|
"type": "unknown",
|
|
@@ -634,7 +635,7 @@ export class GbTable {
|
|
|
634
635
|
},
|
|
635
636
|
"getter": false,
|
|
636
637
|
"setter": false,
|
|
637
|
-
"defaultValue": "[\r\n // {\r\n // id: '#30011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',\r\n // date: 'Jan 1, 2022',\r\n // name: 'Emma Johnson',\r\n // role: 'Frontend Developer',\r\n // level: 'Today',\r\n // customer: 'John Doe',\r\n // amount: '$120.00',\r\n // status: 'Completed',\r\n // },\r\n // { id: '#3002', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: new Date(), name: 'Liam Smith', role: 'Frontend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3004', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3005', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3006', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },\r\n { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },\r\n { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },\r\n { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },\r\n { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },\r\n { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },\r\n { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },\r\n { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },\r\n { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },\r\n { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },\r\n { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },\r\n { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },\r\n { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },\r\n { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },\r\n { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },\r\n { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },\r\n { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },\r\n { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },\r\n { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },\r\n { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },\r\n { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },\r\n { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },\r\n { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },\r\n { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },\r\n { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },\r\n { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },\r\n { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },\r\n { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },\r\n ]"
|
|
638
|
+
"defaultValue": "[\r\n // {\r\n // id: '#30011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111',\r\n // date: 'Jan 1, 2022',\r\n // name: 'Emma Johnson',\r\n // role: 'Frontend Developer',\r\n // level: 'Today',\r\n // customer: 'John Doe',\r\n // amount: '$120.00',\r\n // status: 'Completed',\r\n // },\r\n // { id: '#3002', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: new Date(), name: 'Liam Smith', role: 'Frontend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3004', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3005', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3006', date: new Date(), name: 'Liam Smith', role: 'Backend Developer', level: 'Today', customer: 'Sarah Wilson', amount: '$85.50', status: 'Pending' },\r\n // { id: '#3003', date: 'Jan 3, 2022', name: 'Olivia Brown', role: 'UI Designer', level: 'Today', customer: 'Michael Lee', amount: '$230.75', status: 'Cancelled' },\r\n // { id: '#3004', date: 'Jan 4, 2022', name: 'Noah Davis', role: 'DevOps Engineer', level: 'Today', customer: 'Emily Clark', amount: '$59.99', status: 'Completed' },\r\n // { id: '#3005', date: 'Jan 5, 2022', name: 'Ava Martinez', role: 'Product Manager', level: 'Today', customer: 'Daniel Harris', amount: '$410.00', status: 'Pending' },\r\n // { id: '#3006', date: 'Jan 6, 2022', name: 'William Garcia', role: 'QA Engineer', level: 'Today', customer: 'Sophia Lewis', amount: '$150.20', status: 'Completed' },\r\n // { id: '#3007', date: 'Jan 7, 2022', name: 'Isabella Rodriguez', role: 'Business Analyst', level: 'Today', customer: 'James Walker', amount: '$78.40', status: 'Pending' },\r\n // { id: '#3008', date: 'Jan 8, 2022', name: 'James Wilson', role: 'Fullstack Developer', level: 'Today', customer: 'Mia Hall', amount: '$300.00', status: 'Completed' },\r\n // { id: '#3009', date: 'Jan 9, 2022', name: 'Sophia Anderson', role: 'UX Researcher', level: 'Today', customer: 'Benjamin Allen', amount: '$95.60', status: 'Cancelled' },\r\n // { id: '#3010', date: 'Jan 10, 2022', name: 'Benjamin Thomas', role: 'Mobile Developer', level: 'Today', customer: 'Charlotte Young', amount: '$210.10', status: 'Completed' },\r\n // { id: '#3011', date: 'Jan 11, 2022', name: 'Mia Taylor', role: 'Data Analyst', level: 'Today', customer: 'Lucas King', amount: '$180.00', status: 'Pending' },\r\n // { id: '#3012', date: 'Jan 12, 2022', name: 'Lucas Moore', role: 'Cloud Engineer', level: 'Today', customer: 'Amelia Scott', amount: '$420.75', status: 'Completed' },\r\n // { id: '#3013', date: 'Jan 13, 2022', name: 'Charlotte Jackson', role: 'Security Engineer', level: 'Today', customer: 'Elijah Green', amount: '$65.90', status: 'Cancelled' },\r\n // { id: '#3014', date: 'Jan 14, 2022', name: 'Elijah Martin', role: 'Technical Lead', level: 'Today', customer: 'Harper Adams', amount: '$510.30', status: 'Completed' },\r\n // { id: '#3015', date: 'Jan 15, 2022', name: 'Amelia Lee', role: 'Scrum Master', level: 'Today', customer: 'Alexander Baker', amount: '$99.99', status: 'Pending' },\r\n // { id: '#3016', date: 'Jan 16, 2022', name: 'Harper Perez', role: 'Frontend Developer', level: 'Today', customer: 'Ella Nelson', amount: '$275.45', status: 'Completed' },\r\n // { id: '#3017', date: 'Jan 17, 2022', name: 'Alexander White', role: 'Backend Developer', level: 'Today', customer: 'Matthew Carter', amount: '$340.00', status: 'Pending' },\r\n // { id: '#3018', date: 'Jan 18, 2022', name: 'Ella Harris', role: 'UI Designer', level: 'Today', customer: 'Avery Mitchell', amount: '$88.80', status: 'Completed' },\r\n // { id: '#3019', date: 'Jan 19, 2022', name: 'Matthew Clark', role: 'DevOps Engineer', level: 'Today', customer: 'Evelyn Perez', amount: '$190.25', status: 'Cancelled' },\r\n // { id: '#3020', date: 'Jan 20, 2022', name: 'Avery Lewis', role: 'Product Manager', level: 'Today', customer: 'Henry Roberts', amount: '$600.00', status: 'Completed' },\r\n // { id: '#3021', date: 'Jan 21, 2022', name: 'Evelyn Walker', role: 'QA Engineer', level: 'Today', customer: 'Luna Turner', amount: '$72.30', status: 'Pending' },\r\n // { id: '#3022', date: 'Jan 22, 2022', name: 'Henry Hall', role: 'Business Analyst', level: 'Today', customer: 'Jack Phillips', amount: '$310.40', status: 'Completed' },\r\n // { id: '#3023', date: 'Jan 23, 2022', name: 'Luna Allen', role: 'Fullstack Developer', level: 'Today', customer: 'Sofia Campbell', amount: '$145.00', status: 'Cancelled' },\r\n // { id: '#3024', date: 'Jan 24, 2022', name: 'Jack Young', role: 'UX Researcher', level: 'Today', customer: 'David Parker', amount: '$260.70', status: 'Completed' },\r\n // { id: '#3025', date: 'Jan 25, 2022', name: 'Sofia Hernandez', role: 'Mobile Developer', level: 'Today', customer: 'Grace Evans', amount: '$89.10', status: 'Pending' },\r\n // { id: '#3026', date: 'Jan 26, 2022', name: 'David King', role: 'Data Analyst', level: 'Today', customer: 'Samuel Edwards', amount: '$410.90', status: 'Completed' },\r\n // { id: '#3027', date: 'Jan 27, 2022', name: 'Grace Wright', role: 'Cloud Engineer', level: 'Today', customer: 'Chloe Collins', amount: '$130.55', status: 'Cancelled' },\r\n // { id: '#3028', date: 'Jan 28, 2022', name: 'Samuel Scott', role: 'Security Engineer', level: 'Today', customer: 'Victoria Stewart', amount: '$555.00', status: 'Completed' },\r\n // { id: '#3029', date: 'Jan 29, 2022', name: 'Chloe Green', role: 'Technical Lead', level: 'Today', customer: 'Nathan Morris', amount: '$205.25', status: 'Pending' },\r\n // { id: '#3030', date: 'Jan 30, 2022', name: 'Nathan Adams', role: 'Scrum Master', level: 'Today', customer: 'Zoe Rogers', amount: '$320.80', status: 'Completed' },\r\n ]"
|
|
638
639
|
},
|
|
639
640
|
"tableHeaderConfig": {
|
|
640
641
|
"type": "unknown",
|