{"version":3,"file":"ng-nest-ui-time-picker.mjs","sources":["../../../../lib/ng-nest/ui/time-picker/time-picker.property.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-frame.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-frame.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker-portal.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker-portal.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker.component.ts","../../../../lib/ng-nest/ui/time-picker/time-picker.component.html","../../../../lib/ng-nest/ui/time-picker/time-picker.module.ts","../../../../lib/ng-nest/ui/time-picker/ng-nest-ui-time-picker.ts"],"sourcesContent":["import { XToBoolean, XToCssPixelValue, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, input, model, output } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type {\r\n  XAlign,\r\n  XBoolean,\r\n  XCorner,\r\n  XData,\r\n  XDirection,\r\n  XFloatLabel,\r\n  XIdentityProperty,\r\n  XJustify,\r\n  XNumber,\r\n  XSize,\r\n  XTemplate,\r\n  XVariant\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * TimePicker\r\n * @selector x-time-picker\r\n * @decorator component\r\n */\r\nexport const XTimePickerPrefix = 'x-time-picker';\r\nconst X_TIME_PICKER_CONFIG_NAME = 'timePicker';\r\n\r\n/**\r\n * TimePicker Property\r\n */\r\n@Component({ selector: `${XTimePickerPrefix}-property`, template: '' })\r\nexport class XTimePickerProperty extends XFormControlFunction(X_TIME_PICKER_CONFIG_NAME) {\r\n  /**\r\n   * @zh_CN 时间类型\r\n   * @en_US Time type\r\n   */\r\n  readonly type = input<XTimePickerType>('time');\r\n  /**\r\n   * @zh_CN 形态变体\r\n   * @en_US Input variant\r\n   */\r\n  readonly variant = input<XTimePickerVariant>(this.config?.variant ?? 'outlined');\r\n  /**\r\n   * @zh_CN 格式化\r\n   * @en_US Format\r\n   */\r\n  readonly format = input<string>(this.config?.format ?? 'HH:mm:ss');\r\n  /**\r\n   * @zh_CN 展示方位\r\n   * @en_US Display position\r\n   */\r\n  readonly placement = input<XCorner>(this.config?.placement ?? 'bottom-start');\r\n  /**\r\n   * @zh_CN 使用12小时制\r\n   * @en_US Use 12 hour clock\r\n   */\r\n  readonly use12Hours = input<boolean, XBoolean>(this.config?.use12Hours ?? false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 显示边框\r\n   * @en_US Display Border\r\n   */\r\n  readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? true, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 小时选项间隔\r\n   * @en_US Hour option interval\r\n   */\r\n  readonly hourStep = input<number, XNumber>(this.config?.hourStep ?? 1, { transform: XToNumber });\r\n  /**\r\n   * @zh_CN 分钟选项间隔\r\n   * @en_US Minute option interval\r\n   */\r\n  readonly minuteStep = input<number, XNumber>(this.config?.minuteStep ?? 1, { transform: XToNumber });\r\n  /**\r\n   * @zh_CN 秒选项间隔\r\n   * @en_US Second option interval\r\n   */\r\n  readonly secondStep = input<number, XNumber>(this.config?.secondStep ?? 1, { transform: XToNumber });\r\n  /**\r\n   * @zh_CN 快捷选择按钮，支持此刻以及自定义\r\n   * @en_US Quick selection button, support now and custom\r\n   */\r\n  readonly preset = input<XData<XTimePickerPreset>>([]);\r\n  /**\r\n   * @zh_CN 禁用的时间\r\n   * @en_US Disabled time\r\n   */\r\n  readonly disabledTime = input<XTimePickerDisabledTime>();\r\n  /**\r\n   * @zh_CN 下拉框设置样式名\r\n   * @en_US The style class name of the drop-down box\r\n   */\r\n  readonly portalClass = input<string | string[]>('');\r\n  /**\r\n   * @zh_CN 浮动标签\r\n   * @en_US Float label\r\n   */\r\n  readonly floatLabel = input<XTimePickerFloatLabel | null>(this.config?.floatLabel ?? null);\r\n  /**\r\n   * @zh_CN 固定浮动标签\r\n   * @en_US Fixed float label\r\n   */\r\n  readonly floatFixed = input<boolean, XBoolean>(this.config?.floatFixed ?? false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 尺寸\r\n   * @en_US Size\r\n   */\r\n  override readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n  /**\r\n   * @zh_CN 输入框点击样式\r\n   * @en_US Input pointer\r\n   */\r\n  override readonly pointer = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 初始启用验证，在输入值都自动开启\r\n   * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n   */\r\n  override readonly validator = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 标签\r\n   * @en_US Label\r\n   */\r\n  override readonly label = input<XTemplate>('');\r\n  /**\r\n   * @zh_CN 标签宽度\r\n   * @en_US Label width\r\n   */\r\n  override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n  /**\r\n   * @zh_CN 标签文字对齐方式\r\n   * @en_US Label text alignment method\r\n   */\r\n  override readonly labelAlign = input<XAlign>('start');\r\n  /**\r\n   * @zh_CN flex 布局下的子元素水平排列方式\r\n   * @en_US The level of sub-element level arrangement under flex layout\r\n   */\r\n  override readonly justify = input<XJustify>('start');\r\n  /**\r\n   * @zh_CN flex 布局下的子元素垂直排列方式\r\n   * @en_US sub-element vertical arrangement method under flex layout\r\n   */\r\n  override readonly align = input<XAlign>('start');\r\n  /**\r\n   * @zh_CN flex 布局下的子元素排列方向\r\n   * @en_US The direction of the sub-element arrangement under flex layout\r\n   */\r\n  override readonly direction = input<XDirection>('column');\r\n  /**\r\n   * @zh_CN 输入提示信息\r\n   * @en_US Enter prompt information\r\n   */\r\n  override readonly placeholder = input<string | string[]>('');\r\n  /**\r\n   * @zh_CN 禁用\r\n   * @en_US Disabled\r\n   */\r\n  override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 必填\r\n   * @en_US Required\r\n   */\r\n  override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 只读\r\n   * @en_US Readonly\r\n   */\r\n  override readonly readonly = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 值模板\r\n   * @en_US Node template\r\n   */\r\n  override readonly valueTpl = input<TemplateRef<any>>();\r\n  /**\r\n   * @zh_CN 值模板参数\r\n   * @en_US Node template\r\n   */\r\n  override readonly valueTplContext = input();\r\n  /**\r\n   * @zh_CN 前置标签\r\n   * @en_US Before label\r\n   */\r\n  override readonly before = input<XTemplate>();\r\n  /**\r\n   * @zh_CN 后置标签\r\n   * @en_US After label\r\n   */\r\n  override readonly after = input<XTemplate>();\r\n  /**\r\n   * @zh_CN 正则验证规则\r\n   * @en_US Regular verification rules\r\n   */\r\n  override readonly pattern = input<RegExp | null>(null);\r\n  /**\r\n   * @zh_CN 验证不通过提示文字\r\n   * @en_US Verify not pass the prompt text\r\n   */\r\n  override readonly message = input<string>('');\r\n  /**\r\n   * @zh_CN 激活状态\r\n   * @en_US Activation state\r\n   */\r\n  override readonly active = model<boolean>(false);\r\n  /**\r\n   * @zh_CN 输入验证函数\r\n   * @en_US Enter the verification function\r\n   */\r\n  override readonly inputValidator = input<(value: any) => boolean>();\r\n  /**\r\n   * @zh_CN 节点点击的事件\r\n   * @en_US Node click event\r\n   */\r\n  readonly nodeEmit = output<number>();\r\n}\r\n\r\n/**\r\n * TimePicker Option\r\n */\r\nexport interface XTimePickerOption extends XFormOption {\r\n  /**\r\n   * @zh_CN 时间类型\r\n   * @en_US Time type\r\n   */\r\n  type?: XTimePickerType;\r\n  /**\r\n   * @zh_CN 形态变体\r\n   * @en_US Input variant\r\n   */\r\n  variant?: XTimePickerVariant;\r\n  /**\r\n   * @zh_CN 浮动标签\r\n   * @en_US Float label\r\n   */\r\n  floatLabel?: XTimePickerFloatLabel;\r\n  /**\r\n   * @zh_CN 固定浮动标签\r\n   * @en_US Fixed float label\r\n   */\r\n  floatFixed?: boolean;\r\n  /**\r\n   * @zh_CN 格式化\r\n   * @en_US Format\r\n   */\r\n  format?: string;\r\n  /**\r\n   * @zh_CN 展示方位\r\n   * @en_US Display position\r\n   */\r\n  placement?: XCorner;\r\n  /**\r\n   * @zh_CN 使用12小时制\r\n   * @en_US Use 12 hour clock\r\n   */\r\n  use12Hours?: boolean;\r\n  /**\r\n   * @zh_CN 显示边框\r\n   * @en_US Display Border\r\n   */\r\n  bordered?: boolean;\r\n  /**\r\n   * @zh_CN 小时选项间隔\r\n   * @en_US Hour option interval\r\n   */\r\n  hourStep?: number;\r\n  /**\r\n   * @zh_CN 分钟选项间隔\r\n   * @en_US Minute option interval\r\n   */\r\n  minuteStep?: number;\r\n  /**\r\n   * @zh_CN 秒选项间隔\r\n   * @en_US Second option interval\r\n   */\r\n  secondStep?: number;\r\n  /**\r\n   * @zh_CN 快捷选择按钮，支持此刻以及自定义\r\n   * @en_US Quick selection button, support now and custom\r\n   */\r\n  preset?: XData<XTimePickerPreset>;\r\n  /**\r\n   * @zh_CN 禁用的时间\r\n   * @en_US Disabled time\r\n   */\r\n  disabledTime?: XTimePickerDisabledTime;\r\n  /**\r\n   * @zh_CN 节点点击的事件\r\n   * @en_US Node click event\r\n   */\r\n  nodeEmit?: (node: number) => void;\r\n  /**\r\n   * @zh_CN 尺寸\r\n   * @en_US Size\r\n   */\r\n  size?: XSize;\r\n  /**\r\n   * @zh_CN 输入框点击样式\r\n   * @en_US Input pointer\r\n   */\r\n  pointer?: boolean;\r\n  /**\r\n   * @zh_CN 标签\r\n   * @en_US Label\r\n   */\r\n  label?: string;\r\n  /**\r\n   * @zh_CN 标签宽度\r\n   * @en_US Label width\r\n   */\r\n  labelWidth?: string;\r\n  /**\r\n   * @zh_CN 标签文字对齐方式\r\n   * @en_US Label text alignment method\r\n   */\r\n  labelAlign?: XAlign;\r\n  /**\r\n   * @zh_CN flex 布局下的子元素水平排列方式\r\n   * @en_US The level of sub-element level arrangement under flex layout\r\n   */\r\n  justify?: XJustify;\r\n  /**\r\n   * @zh_CN flex 布局下的子元素垂直排列方式\r\n   * @en_US sub-element vertical arrangement method under flex layout\r\n   */\r\n  align?: XAlign;\r\n  /**\r\n   * @zh_CN flex 布局下的子元素排列方向\r\n   * @en_US The direction of the sub-element arrangement under flex layout\r\n   */\r\n  direction?: XDirection;\r\n  /**\r\n   * @zh_CN 输入提示信息\r\n   * @en_US Enter prompt information\r\n   */\r\n  placeholder?: string;\r\n  /**\r\n   * @zh_CN 禁用\r\n   * @en_US Disabled\r\n   */\r\n  disabled?: boolean;\r\n  /**\r\n   * @zh_CN 必填\r\n   * @en_US Required\r\n   */\r\n  required?: boolean;\r\n  /**\r\n   * @zh_CN 只读\r\n   * @en_US Readonly\r\n   */\r\n  readonly?: boolean;\r\n  /**\r\n   * @zh_CN 值模板\r\n   * @en_US Node template\r\n   */\r\n  valueTpl?: TemplateRef<any>;\r\n  /**\r\n   * @zh_CN 值模板参数\r\n   * @en_US Node template\r\n   */\r\n  valueTplContext?: any;\r\n  /**\r\n   * @zh_CN 前置标签\r\n   * @en_US Before label\r\n   */\r\n  before?: XTemplate;\r\n  /**\r\n   * @zh_CN 后置标签\r\n   * @en_US After label\r\n   */\r\n  after?: XTemplate;\r\n  /**\r\n   * @zh_CN 正则验证规则\r\n   * @en_US Regular verification rules\r\n   */\r\n  pattern?: RegExp;\r\n  /**\r\n   * @zh_CN 验证不通过提示文字\r\n   * @en_US Verify not pass the prompt text\r\n   */\r\n  message?: string;\r\n  /**\r\n   * @zh_CN 激活状态\r\n   * @en_US Activation state\r\n   */\r\n  active?: boolean;\r\n  /**\r\n   * @zh_CN 输入验证函数\r\n   * @en_US Enter the verification function\r\n   */\r\n  inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 时间选择\r\n * @en_US Time selection\r\n */\r\nexport type XTimePickerType = 'time' | 'hour' | 'minute';\r\n\r\n/**\r\n * @zh_CN 浮动标签类型\r\n * @en_US Float label type\r\n */\r\nexport type XTimePickerFloatLabel = XFloatLabel;\r\n\r\n/**\r\n * @zh_CN 输入框形态变体\r\n * @en_US Input box variant\r\n */\r\nexport type XTimePickerVariant = XVariant;\r\n\r\n/**\r\n * @zh_CN 快捷选择按钮\r\n * @en_US Quick selection button\r\n */\r\nexport interface XTimePickerPreset extends XIdentityProperty {\r\n  /**\r\n   * @zh_CN 自定义函数\r\n   * @en_US Custom function\r\n   */\r\n  func: () => Date;\r\n}\r\n\r\n/**\r\n * TimePickerPortal\r\n * @selector x-time-picker-portal\r\n * @decorator component\r\n */\r\nexport const XTimePickerPortalPrefix = 'x-time-picker-portal';\r\n\r\n/**\r\n * TimePickerFrame\r\n * @selector x-time-picker-frame\r\n * @decorator component\r\n */\r\nexport const XTimePickerFramePrefix = 'x-time-picker-frame';\r\n\r\n/**\r\n * @zh_CN 禁用时间的自定义类型\r\n * @en_US Disable custom type of time\r\n */\r\nexport type XTimePickerDisabledTime = (param?: any) => XTimePickerDisabledTimeFn;\r\n\r\n/**\r\n * @zh_CN 禁用时间的自定义函数\r\n * @en_US Disable custom type of time\r\n */\r\nexport type XTimePickerDisabledTimeFn = {\r\n  /**\r\n   * @zh_CN 禁用小时的自定义函数\r\n   * @en_US Disable custom type of hours\r\n   */\r\n  disabledHours?: () => number[];\r\n  /**\r\n   * @zh_CN 禁用分钟的自定义函数\r\n   * @en_US Disable custom type of minutes\r\n   */\r\n  disabledMinutes?: () => number[];\r\n  /**\r\n   * @zh_CN 禁用秒的自定义函数\r\n   * @en_US Disable custom type of seconds\r\n   */\r\n  disabledSeconds?: () => number[];\r\n};\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  SimpleChanges,\r\n  ViewEncapsulation,\r\n  computed,\r\n  inject,\r\n  input,\r\n  output,\r\n  signal,\r\n  viewChild\r\n} from '@angular/core';\r\nimport { XTimePickerDisabledTime, XTimePickerFramePrefix, XTimePickerType } from './time-picker.property';\r\nimport {\r\n  XRequestAnimationFrame,\r\n  XIdentity,\r\n  XIsChange,\r\n  XIsEmpty,\r\n  XIsFunction,\r\n  XIsNull,\r\n  XIsNumber\r\n} from '@ng-nest/ui/core';\r\nimport { XI18nService, XI18nTimePicker, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { map } from 'rxjs/operators';\r\nimport { XListComponent } from '@ng-nest/ui/list';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n  selector: `${XTimePickerFramePrefix}`,\r\n  imports: [FormsModule, XListComponent],\r\n  templateUrl: './time-picker-frame.component.html',\r\n  styleUrls: ['./time-picker-frame.component.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimePickerFrameComponent {\r\n  private i18n = inject(XI18nService);\r\n  type = input<XTimePickerType>('time');\r\n  value = input<number | null>();\r\n  use12Hours = input<boolean>(false);\r\n  hourStep = input<number>(1);\r\n  minuteStep = input<number>(1);\r\n  secondStep = input<number>(1);\r\n  defaultNow = input<boolean>(true);\r\n  disabledTime = input<XTimePickerDisabledTime>();\r\n  disabledTimeParam = input<any>();\r\n  nodeEmit = output<Date>();\r\n  hourRef = viewChild.required<ElementRef<HTMLElement>>('hourRef');\r\n  minuteRef = viewChild<ElementRef<HTMLElement>>('minuteRef');\r\n  secondRef = viewChild<ElementRef<HTMLElement>>('secondRef');\r\n  use12HoursRef = viewChild<ElementRef<HTMLElement>>('use12HoursRef');\r\n  model = signal<Date | null>(null);\r\n  hour = signal<number | null>(null);\r\n  minute = signal<number | null>(null);\r\n  second = signal<number | null>(null);\r\n  use12Hour = signal('am');\r\n  scrollAnimating = signal<{ [key: string]: boolean }>({});\r\n  hourData = computed(() => {\r\n    let length = this.use12Hours() ? 12 : 24;\r\n    return Array.from({ length: Math.ceil(length / this.hourStep()) }).map((_, i) => {\r\n      if (this.use12Hours() && i === 0) {\r\n        i = 12;\r\n        return {\r\n          disabled: this.setDisabled('hours', i),\r\n          label: this.prefixZero(i, 2),\r\n          id: i\r\n        };\r\n      } else {\r\n        const num = i * this.hourStep();\r\n        return {\r\n          disabled: this.setDisabled('hours', num),\r\n          label: this.prefixZero(num, 2),\r\n          id: num\r\n        };\r\n      }\r\n    });\r\n  });\r\n  minuteData = computed(() => {\r\n    return Array.from({ length: Math.ceil(60 / this.minuteStep()) }).map((_, i) => {\r\n      const num = i * this.minuteStep();\r\n      return {\r\n        disabled: this.setDisabled('minutes', num),\r\n        label: this.prefixZero(num, 2),\r\n        id: num\r\n      };\r\n    });\r\n  });\r\n  secondData = computed(() => {\r\n    return Array.from({ length: Math.ceil(60 / this.secondStep()) }).map((_, i) => {\r\n      const num: number = i * this.secondStep();\r\n      return {\r\n        disabled: this.setDisabled('seconds', num),\r\n        label: this.prefixZero(num, 2),\r\n        id: num\r\n      };\r\n    });\r\n  });\r\n  use12HoursData = computed(() => {\r\n    return [\r\n      {\r\n        id: 'am',\r\n        label: this.locale().am\r\n      },\r\n      {\r\n        id: 'pm',\r\n        label: this.locale().pm\r\n      }\r\n    ];\r\n  });\r\n  locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.timePicker as XI18nTimePicker)), {\r\n    initialValue: zh_CN.timePicker\r\n  });\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { value } = changes;\r\n    if (XIsChange(value)) {\r\n      this.init();\r\n      this.setScrollTop(true);\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.init();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.setScrollTop();\r\n  }\r\n\r\n  setDisabled(type: 'hours' | 'minutes' | 'seconds', num: number) {\r\n    if (this.disabledTime() && XIsFunction(this.disabledTime())) {\r\n      const disabledMap = this.disabledTime()!(this.disabledTimeParam()!);\r\n      const { disabledHours, disabledMinutes, disabledSeconds } = disabledMap;\r\n      let disabledNums: number[] = [];\r\n      if (type === 'hours') {\r\n        disabledNums = disabledHours ? disabledHours() : [];\r\n      } else if (type === 'minutes') {\r\n        disabledNums = disabledMinutes ? disabledMinutes() : [];\r\n      } else if (type === 'seconds') {\r\n        disabledNums = disabledSeconds ? disabledSeconds() : [];\r\n      }\r\n      return disabledNums.includes(num);\r\n    }\r\n    return false;\r\n  }\r\n\r\n  init() {\r\n    if (!XIsEmpty(this.value())) {\r\n      this.model.set(new Date(this.value()!));\r\n      this.setTime(this.model()!);\r\n    } else {\r\n      if (this.defaultNow()) {\r\n        this.model.set(this.setNow());\r\n      } else {\r\n        this.hour.set(null);\r\n        this.minute.set(null);\r\n        this.second.set(null);\r\n      }\r\n    }\r\n  }\r\n\r\n  setNow() {\r\n    const def = new Date('1970-01-01');\r\n    const now = new Date();\r\n    return new Date(\r\n      def.getFullYear(),\r\n      def.getMonth(),\r\n      def.getDate(),\r\n      now.getHours(),\r\n      now.getMinutes(),\r\n      now.getSeconds()\r\n    );\r\n  }\r\n\r\n  setZero() {\r\n    const def = new Date('1970-01-01');\r\n    return new Date(def.getFullYear(), def.getMonth(), def.getDate(), 0, 0, 0);\r\n  }\r\n\r\n  setTime(date: Date) {\r\n    if (this.use12Hours()) {\r\n      let hour = date.getHours();\r\n      if (hour > 12) {\r\n        this.hour.set(hour - 12);\r\n        this.use12Hour.set('pm');\r\n      } else if (hour === 12) {\r\n        this.hour.set(12);\r\n        this.use12Hour.set('pm');\r\n      } else {\r\n        this.hour.set(hour === 0 ? 12 : hour);\r\n        this.use12Hour.set('am');\r\n      }\r\n    } else {\r\n      this.hour.set(date.getHours());\r\n    }\r\n    this.minute.set(date.getMinutes());\r\n    this.second.set(date.getSeconds());\r\n  }\r\n\r\n  prefixZero(num: number, n: number) {\r\n    return (Array(n).join('0') + num).slice(-n);\r\n  }\r\n\r\n  setScrollTop(animating = false) {\r\n    this.selected('hour', this.hourRef().nativeElement, this.hour()!, animating);\r\n    this.selected('minute', this.minuteRef()?.nativeElement, this.minute()!, animating);\r\n    this.selected('second', this.secondRef()?.nativeElement, this.second()!, animating);\r\n    this.selected('use12Hour', this.use12HoursRef()?.nativeElement, this.use12Hour(), animating);\r\n  }\r\n\r\n  selected(\r\n    type: 'hour' | 'minute' | 'second' | 'use12Hour',\r\n    ele?: HTMLElement,\r\n    num?: number | string,\r\n    animating = false\r\n  ) {\r\n    if (!ele || XIsNull(num)) return;\r\n    if (this.scrollAnimating()[ele.className]) return;\r\n    let len = Number(num);\r\n    switch (type) {\r\n      case 'hour':\r\n        len = this.hourData().findIndex((x) => x.id === num);\r\n        break;\r\n      case 'minute':\r\n        len = this.minuteData().findIndex((x) => x.id === num);\r\n        break;\r\n      case 'second':\r\n        len = this.secondData().findIndex((x) => x.id === num);\r\n        break;\r\n      case 'use12Hour':\r\n        len = this.use12HoursData().findIndex((x) => x.id === num);\r\n        break;\r\n    }\r\n    const current = ele.querySelector(`.x-list x-list-option:nth-child(${len + 1})`) as HTMLElement;\r\n    if (current) {\r\n      if (animating) {\r\n        this.scrollTo(ele, current.offsetTop - 4, 120);\r\n      } else {\r\n        ele.scrollTop = current.offsetTop - 4;\r\n      }\r\n    }\r\n  }\r\n\r\n  isLastItem(data: XIdentity[], item: XIdentity) {\r\n    return data.indexOf(item) === data.length - 1;\r\n  }\r\n\r\n  itemClick(type: 'hour' | 'minute' | 'second' | 'use12Hours') {\r\n    if (XIsEmpty(this.model())) {\r\n      this.model.set(this.setZero());\r\n    }\r\n    switch (type) {\r\n      case 'minute':\r\n        this.model.update((x) => {\r\n          x!.setMinutes(this.minute()!);\r\n          return x;\r\n        });\r\n        break;\r\n      case 'second':\r\n        this.model.update((x) => {\r\n          x!.setSeconds(this.second()!);\r\n          return x;\r\n        });\r\n        break;\r\n      case 'hour':\r\n        if (this.use12Hours()) {\r\n          if (this.use12Hour() === 'pm' && this.hour() !== 12) {\r\n            this.model.update((x) => {\r\n              x!.setHours(this.hour()! + 12);\r\n              return x;\r\n            });\r\n          } else if (this.use12Hour() === 'am' && this.hour() === 12) {\r\n            this.model.update((x) => {\r\n              x!.setHours(0);\r\n              return x;\r\n            });\r\n          } else {\r\n            this.model.update((x) => {\r\n              x!.setHours(this.hour()!);\r\n              return x;\r\n            });\r\n          }\r\n        } else {\r\n          this.model.update((x) => {\r\n            x!.setHours(this.hour()!);\r\n            return x;\r\n          });\r\n        }\r\n        break;\r\n      case 'use12Hours':\r\n        if (this.use12Hour() === 'pm' && this.hour() !== 12) {\r\n          this.model.update((x) => {\r\n            x!.setHours(this.hour()! + 12);\r\n            return x;\r\n          });\r\n        } else if (this.use12Hour() === 'am' && this.hour() === 12) {\r\n          this.model.update((x) => {\r\n            x!.setHours(0);\r\n            return x;\r\n          });\r\n        } else {\r\n          this.model.update((x) => {\r\n            x!.setHours(this.hour()!);\r\n            return x;\r\n          });\r\n        }\r\n        break;\r\n    }\r\n    this.setScrollTop(true);\r\n    this.nodeEmit.emit(this.model()!);\r\n  }\r\n\r\n  private scrollTo(element: HTMLElement, to: number, duration: number): void {\r\n    const clsName = element.className;\r\n    const difference = to - element.scrollTop;\r\n    const perTick = (difference / duration) * 10;\r\n    this.scrollAnimating.update((x) => {\r\n      x[clsName] = true;\r\n      return { ...x };\r\n    });\r\n    XRequestAnimationFrame(() => {\r\n      const num = element.scrollTop + perTick;\r\n      if (XIsNumber(num) && num !== Infinity) {\r\n        element.scrollTop = num;\r\n      }\r\n      if (element.scrollTop === to || duration <= 0) {\r\n        this.scrollAnimating.update((x) => {\r\n          x[clsName] = false;\r\n          return { ...x };\r\n        });\r\n        return;\r\n      } else {\r\n        this.scrollTo(element, to, duration - 10);\r\n      }\r\n    });\r\n  }\r\n}\r\n","<div class=\"x-time-picker-frame\">\r\n  <div class=\"x-time-picker-frame-hour\" #hourRef>\r\n    <x-list [data]=\"hourData()\" [(ngModel)]=\"hour\" (nodeClick)=\"itemClick('hour')\"></x-list>\r\n  </div>\r\n  @if (type() !== 'hour') {\r\n    <div class=\"x-time-picker-frame-minute\" #minuteRef>\r\n      <x-list [data]=\"minuteData()\" [(ngModel)]=\"minute\" (nodeClick)=\"itemClick('minute')\"></x-list>\r\n    </div>\r\n  }\r\n  @if (type() === 'time') {\r\n    <div class=\"x-time-picker-frame-second\" #secondRef>\r\n      <x-list [data]=\"secondData()\" [(ngModel)]=\"second\" (nodeClick)=\"itemClick('second')\"></x-list>\r\n    </div>\r\n  }\r\n  @if (use12Hours()) {\r\n    <div class=\"x-time-picker-frame-use12Hours\" #use12HoursRef>\r\n      <x-list [data]=\"use12HoursData()\" [(ngModel)]=\"use12Hour\" (nodeClick)=\"itemClick('use12Hours')\"></x-list>\r\n    </div>\r\n  }\r\n</div>\r\n","import {\r\n  Component,\r\n  ViewEncapsulation,\r\n  ChangeDetectionStrategy,\r\n  HostBinding,\r\n  HostListener,\r\n  inject,\r\n  input,\r\n  model,\r\n  output,\r\n  signal,\r\n  DestroyRef\r\n} from '@angular/core';\r\nimport {\r\n  XTimePickerDisabledTime,\r\n  XTimePickerPortalPrefix,\r\n  XTimePickerPreset,\r\n  XTimePickerType\r\n} from './time-picker.property';\r\nimport { XPositionTopBottom } from '@ng-nest/ui/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XI18nService, XI18nTimePicker, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XTimePickerFrameComponent } from './time-picker-frame.component';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n  selector: `${XTimePickerPortalPrefix}`,\r\n  imports: [XTimePickerFrameComponent, XButtonComponent],\r\n  templateUrl: './time-picker-portal.component.html',\r\n  styleUrls: ['./time-picker-portal.component.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimePickerPortalComponent {\r\n  private i18n = inject(XI18nService);\r\n  @HostBinding('animate.enter') animateEnter = 'x-connect-enter';\r\n  @HostBinding('animate.leave') animateLeave = 'x-connect-leave';\r\n\r\n  @HostListener('animationend') done() {\r\n    if (this.destroy()) return;\r\n    this.animating.emit(false);\r\n  }\r\n  @HostListener('animationstart') start() {\r\n    if (this.destroy()) return;\r\n    this.animating.emit(true);\r\n  }\r\n  value = model<any>();\r\n  type = input<XTimePickerType>('time');\r\n  placement = input<XPositionTopBottom>();\r\n  inputCom = input<XInputComponent>();\r\n  use12Hours = input<boolean>();\r\n  hourStep = input<number>();\r\n  minuteStep = input<number>();\r\n  secondStep = input<number>();\r\n  preset = input<XTimePickerPreset[]>([]);\r\n  disabledTime = input<XTimePickerDisabledTime>();\r\n  animating = output<boolean>();\r\n  nodeClick = output<Date>();\r\n  locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.timePicker as XI18nTimePicker)), {\r\n    initialValue: zh_CN.timePicker\r\n  });\r\n  destroy = signal(false);\r\n  private destroyRef = inject(DestroyRef);\r\n\r\n  ngOnInit() {\r\n    this.destroyRef.onDestroy(() => {\r\n      this.destroy.set(true);\r\n    });\r\n  }\r\n\r\n  stopPropagation(event: Event): void {\r\n    event.stopPropagation();\r\n  }\r\n\r\n  onPresetFunc(item: XTimePickerPreset) {\r\n    let date = item.func();\r\n    this.value.set(date);\r\n    this.nodeClick.emit(date);\r\n  }\r\n\r\n  onNow() {\r\n    let date = new Date();\r\n    this.value.set(date);\r\n    this.nodeClick.emit(date);\r\n  }\r\n}\r\n","<div class=\"x-time-picker-portal\" (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\">\r\n  <x-time-picker-frame\r\n    [type]=\"type()\"\r\n    [value]=\"value()\"\r\n    [use12Hours]=\"use12Hours()!\"\r\n    [hourStep]=\"hourStep()!\"\r\n    [minuteStep]=\"minuteStep()!\"\r\n    [secondStep]=\"secondStep()!\"\r\n    [disabledTime]=\"disabledTime()\"\r\n    (nodeEmit)=\"nodeClick.emit($event)\"\r\n  ></x-time-picker-frame>\r\n  @if (preset()) {\r\n    <div class=\"x-time-picker-portal-preset\">\r\n      @for (item of preset(); track item) {\r\n        @if (!!item.func) {\r\n          <x-button type=\"text\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-button>\r\n        } @else if (!item.func && item.id === 'now') {\r\n          <x-button type=\"text\" (click)=\"onNow()\">{{ locale().now }}</x-button>\r\n        }\r\n      }\r\n    </div>\r\n  }\r\n</div>\r\n","import { XTimePickerPortalComponent } from './time-picker-portal.component';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport {\r\n  Component,\r\n  OnInit,\r\n  ViewEncapsulation,\r\n  ChangeDetectionStrategy,\r\n  ElementRef,\r\n  ViewContainerRef,\r\n  inject,\r\n  AfterViewInit,\r\n  OnDestroy,\r\n  signal,\r\n  computed,\r\n  viewChild,\r\n  ComponentRef,\r\n  effect\r\n} from '@angular/core';\r\nimport { XTimePickerPrefix, XTimePickerProperty } from './time-picker.property';\r\nimport { XIsEmpty, XIsDate, XIsNumber, XCorner, XIsString, XParents, XPlacement, XIsNull } from '@ng-nest/ui/core';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { DOCUMENT, DatePipe } from '@angular/common';\r\nimport {\r\n  Overlay,\r\n  OverlayConfig,\r\n  FlexibleConnectedPositionStrategy,\r\n  ConnectedOverlayPositionChange,\r\n  OverlayRef\r\n} from '@angular/cdk/overlay';\r\nimport { takeUntil, map, filter } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nService, XI18nTimePicker, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n  selector: `${XTimePickerPrefix}`,\r\n  imports: [FormsModule, XInputComponent],\r\n  templateUrl: './time-picker.component.html',\r\n  styleUrls: ['./time-picker.component.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  providers: [XValueAccessor(XTimePickerComponent), DatePipe]\r\n})\r\nexport class XTimePickerComponent extends XTimePickerProperty implements OnInit, AfterViewInit, OnDestroy {\r\n  private elementRef = inject(ElementRef);\r\n  private portalService = inject(XPortalService);\r\n  private viewContainerRef = inject(ViewContainerRef);\r\n  private datePipe = inject(DatePipe);\r\n  private overlay = inject(Overlay);\r\n  private i18n = inject(XI18nService);\r\n\r\n  datePicker = viewChild.required<ElementRef<HTMLElement>>('datePicker');\r\n  inputCom = viewChild.required<XInputComponent>('inputCom');\r\n  numberValue = signal<number | string | null>(null);\r\n\r\n  locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.timePicker as XI18nTimePicker)), {\r\n    initialValue: zh_CN.timePicker\r\n  });\r\n\r\n  override writeValue(value: any) {\r\n    let valueType: 'date' | 'number' | 'string' = 'date';\r\n    if (XIsDate(value)) {\r\n      valueType = 'date';\r\n      this.numberValue.set(value.getTime());\r\n    } else if (XIsNumber(value)) {\r\n      valueType = 'number';\r\n      this.numberValue.set(value);\r\n    } else if (XIsString(value)) {\r\n      valueType = 'string';\r\n      const valueTime = new Date(value).getTime();\r\n      this.numberValue.set(!isNaN(valueTime) ? valueTime : '');\r\n    } else if (XIsEmpty(value) || XIsNull(value)) {\r\n      this.numberValue.set('');\r\n    }\r\n    this.value.set(value);\r\n    this.valueType.set(valueType);\r\n  }\r\n\r\n  displayValue = computed(() => {\r\n    const value = this.numberValue();\r\n    if (!value) return null;\r\n    if (this.use12Hours()) {\r\n      let dt = new Date(value);\r\n      let hour = dt.getHours();\r\n      let suffix = hour >= 12 ? this.locale().pm : this.locale().am;\r\n      return `${this.datePipe.transform(\r\n        dt.setHours(hour === 0 ? 12 : hour > 12 ? hour - 12 : hour),\r\n        this.formatSignal()\r\n      )} ${suffix}`;\r\n    } else {\r\n      return this.datePipe.transform(value, this.formatSignal());\r\n    }\r\n  });\r\n\r\n  formatSignal = computed(() => {\r\n    if (this.format() === 'HH:mm:ss') {\r\n      if (this.type() === 'hour') {\r\n        return 'HH';\r\n      } else if (this.type() === 'minute') {\r\n        return 'HH:mm';\r\n      }\r\n    }\r\n    return this.format();\r\n  });\r\n\r\n  clearable = signal(false);\r\n  enter = signal(false);\r\n  animating = signal(false);\r\n  portal!: XPortalOverlayRef<XTimePickerPortalComponent>;\r\n  icon = signal('fto-clock');\r\n  closeSubject: Subject<void> = new Subject();\r\n  valueType = signal<'date' | 'number' | 'string'>('date');\r\n  private unSubject = new Subject<void>();\r\n  document = inject(DOCUMENT);\r\n\r\n  getPlaceholder = computed(() => {\r\n    if (this.placeholder()) return this.placeholder();\r\n    if (this.type() === 'time') {\r\n      return this.locale().selectTime;\r\n    } else if (this.type() === 'hour') {\r\n      return this.locale().selectHour;\r\n    } else if (this.type() === 'minute') {\r\n      return this.locale().selectMinute;\r\n    } else {\r\n      return this.locale().selectTime;\r\n    }\r\n  });\r\n\r\n  private realPlacement = signal<XPlacement | null>(null);\r\n  portalComponent = signal<ComponentRef<XTimePickerPortalComponent> | null>(null);\r\n  portalOverlayRef = signal<OverlayRef | null>(null);\r\n\r\n  constructor() {\r\n    super();\r\n    effect(() => this.portalComponent()?.setInput('value', this.numberValue()));\r\n    effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n    effect(() => this.portalComponent()?.setInput('use12Hours', this.use12Hours()));\r\n    effect(() => this.portalComponent()?.setInput('type', this.type()));\r\n    effect(() => this.portalComponent()?.setInput('hourStep', this.hourStep()));\r\n    effect(() => this.portalComponent()?.setInput('minuteStep', this.minuteStep()));\r\n    effect(() => this.portalComponent()?.setInput('secondStep', this.secondStep()));\r\n    effect(() => this.portalComponent()?.setInput('preset', this.preset()));\r\n    effect(() => this.portalComponent()?.setInput('inputCom', this.inputCom()));\r\n    effect(() => this.portalComponent()?.setInput('disabledTime', this.disabledTime()));\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.setSubject();\r\n    this.setParantScroll();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.setPortal();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.unSubject.next();\r\n    this.unSubject.complete();\r\n  }\r\n\r\n  setParantScroll() {\r\n    if (!this.document) return;\r\n    const parents = XParents(this.elementRef.nativeElement);\r\n    let firstScroll: HTMLElement | null = null;\r\n    for (let item of parents) {\r\n      if (item.clientHeight < item.scrollHeight) {\r\n        firstScroll = item;\r\n        break;\r\n      }\r\n    }\r\n    if (firstScroll && firstScroll.tagName !== 'BODY') {\r\n      fromEvent(firstScroll, 'scroll')\r\n        .pipe(\r\n          filter(() => this.portalAttached()!),\r\n          takeUntil(this.unSubject)\r\n        )\r\n        .subscribe(() => {\r\n          this.portalOverlayRef()?.updatePosition();\r\n          const eract = this.elementRef.nativeElement.getBoundingClientRect();\r\n          const frect = firstScroll!.getBoundingClientRect();\r\n          if (eract.top + eract.height - frect.top < 0 || eract.bottom > frect.bottom) {\r\n            this.closeSubject.next();\r\n          }\r\n        });\r\n    }\r\n  }\r\n\r\n  setSubject() {\r\n    this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {\r\n      this.closePortal();\r\n    });\r\n  }\r\n\r\n  menter() {\r\n    if (this.disabledComputed()) return;\r\n    this.enter.set(true);\r\n    if (!XIsEmpty(this.numberValue())) {\r\n      this.icon.set('');\r\n      this.clearable.set(true);\r\n    }\r\n  }\r\n\r\n  mleave() {\r\n    if (this.disabledComputed()) return;\r\n    this.enter.set(false);\r\n    if (this.clearable()) {\r\n      this.icon.set('fto-clock');\r\n      this.clearable.set(false);\r\n    }\r\n  }\r\n\r\n  clearEmit() {\r\n    this.value.set(null);\r\n    this.numberValue.set(null);\r\n    this.mleave();\r\n    this.modelChange();\r\n  }\r\n\r\n  portalAttached() {\r\n    return this.portalOverlayRef()?.hasAttached();\r\n  }\r\n\r\n  closePortal() {\r\n    if (this.portalAttached()) {\r\n      this.portalOverlayRef()?.detach();\r\n      this.active.set(false);\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  showPortal() {\r\n    if (this.disabledComputed() || this.animating()) return;\r\n    this.active.set(true);\r\n    const config: OverlayConfig = {\r\n      backdropClass: '',\r\n      panelClass: this.portalClass(),\r\n      positionStrategy: this.setPlacement(),\r\n      scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n    };\r\n    this.setPosition(config);\r\n    this.portal = this.portalService.attach({\r\n      content: XTimePickerPortalComponent,\r\n      viewContainerRef: this.viewContainerRef,\r\n      overlayConfig: config\r\n    });\r\n    this.portal.overlayRef\r\n      ?.outsidePointerEvents()\r\n      .pipe(takeUntil(this.unSubject))\r\n      .subscribe(() => {\r\n        this.closeSubject.next();\r\n      });\r\n    this.setInstance();\r\n  }\r\n\r\n  setPosition(config: OverlayConfig) {\r\n    let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n    position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n      const place = XPortalConnectedPosition.get(pos.connectionPair) as XCorner;\r\n      if (place !== this.realPlacement()) {\r\n        this.realPlacement.set(place);\r\n        this.portalOverlayRef()?.updatePosition();\r\n      }\r\n    });\r\n  }\r\n\r\n  setInstance() {\r\n    let { componentRef, overlayRef } = this.portal;\r\n    if (!componentRef || !overlayRef) return;\r\n    this.portalComponent.set(componentRef);\r\n    this.portalOverlayRef.set(overlayRef);\r\n    this.realPlacement.set(this.placement());\r\n    const { nodeClick, animating } = componentRef.instance;\r\n    nodeClick.subscribe((node: Date) => this.onNodeClick(node));\r\n    animating.subscribe((ing: boolean) => this.animating.set(ing));\r\n  }\r\n\r\n  onNodeClick(date: Date) {\r\n    this.numberValue.set(date.getTime());\r\n    this.value.set(this.getValue());\r\n    this.modelChange();\r\n    this.nodeEmit.emit(this.value());\r\n  }\r\n\r\n  modelChange() {\r\n    if (this.onChange) {\r\n      this.onChange(this.getValue());\r\n    }\r\n    this.formControlValidator();\r\n  }\r\n\r\n  getValue() {\r\n    if (this.numberValue() === '') return null;\r\n    return ['date', 'string'].includes(this.valueType()) ? new Date(this.numberValue()!) : this.numberValue();\r\n  }\r\n\r\n  setPlacement() {\r\n    return this.portalService.setPlacement({\r\n      elementRef: this.inputCom().inputRef(),\r\n      placement: [this.placement() as XCorner, 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\r\n      transformOriginOn: 'x-time-picker-portal'\r\n    });\r\n  }\r\n\r\n  setPortal() {\r\n    if (this.portalAttached()) {\r\n      this.portalOverlayRef()?.updatePositionStrategy(this.setPlacement());\r\n    }\r\n  }\r\n\r\n  formControlChanges() {\r\n    this.ngOnInit();\r\n  }\r\n}\r\n","<div #datePicker class=\"x-time-picker\">\r\n  <div class=\"x-time-picker-row\">\r\n    <x-input\r\n      #inputCom\r\n      type=\"text\"\r\n      [label]=\"label()\"\r\n      [labelWidth]=\"labelWidth()\"\r\n      [labelAlign]=\"labelAlign()\"\r\n      [justify]=\"justify()\"\r\n      [align]=\"align()\"\r\n      [direction]=\"direction()\"\r\n      [disabled]=\"disabledComputed()\"\r\n      [required]=\"requiredComputed()\"\r\n      [validator]=\"validatorComputed()\"\r\n      [inputValidator]=\"inputValidator()\"\r\n      [icon]=\"icon()\"\r\n      [placeholder]=\"getPlaceholder()!\"\r\n      [readonly]=\"readonly()\"\r\n      [clearable]=\"clearable()\"\r\n      [(ngModel)]=\"value\"\r\n      [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n      [valueTplContext]=\"valueTplContext()\"\r\n      [size]=\"size()\"\r\n      [bordered]=\"bordered()\"\r\n      [before]=\"before()\"\r\n      [after]=\"after()\"\r\n      [pattern]=\"patternComputed()\"\r\n      [message]=\"messageComputed()\"\r\n      [pointer]=\"pointer()\"\r\n      [variant]=\"variant()\"\r\n      [floatLabel]=\"floatLabel()\"\r\n      [floatFixed]=\"floatFixed()\"\r\n      [(active)]=\"active\"\r\n      (clearEmit)=\"clearEmit()\"\r\n      (xClick)=\"showPortal()\"\r\n      (xMouseenter)=\"menter()\"\r\n      (xMouseleave)=\"mleave()\"\r\n    ></x-input>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XTimePickerComponent } from './time-picker.component';\r\nimport { XTimePickerFrameComponent } from './time-picker-frame.component';\r\n\r\n@NgModule({\r\n  exports: [XTimePickerComponent, XTimePickerFrameComponent],\r\n  imports: [XTimePickerComponent, XTimePickerFrameComponent]\r\n})\r\nexport class XTimePickerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}