{"version":3,"file":"prime.umd.cjs","names":[],"sources":["../src/components/select.vue","../src/components/select.vue","../src/components/cron-prime.vue","../src/components/cron-prime.vue","../src/index.ts"],"sourcesContent":["<template>\n  <span class=\"vcron-p-select\">\n    <!-- HACK: load style of PrimeVue Listbox -->\n    <Listbox v-show=\"false\"></Listbox>\n    <p-button :disabled=\"disabled\" v-bind=\"buttonProps\" @click=\"toggle\">\n      {{ selection ?? selectedStr\n      }}<i\n        class=\"pi pi-times\"\n        v-if=\"!disabled && clearable && !isEmpty\"\n        @click=\"clear()\"\n        @click.stop=\"\"\n      />\n    </p-button>\n\n    <p-popover v-bind=\"popoverProps\" ref=\"popover\">\n      <div class=\"vcron-p-row\" v-for=\"(itemRow, i) in itemRows\" :key=\"i\">\n        <div\n          :class=\"[has(item) ? 'vcron-p-col-selected' : '']\"\n          class=\"vcron-p-col\"\n          :flex=\"1\"\n          v-for=\"(item, j) in itemRow\"\n          :key=\"j\"\n          @click=\"\n            (evt) => {\n              if (!item) return\n              select(evt, item)\n            }\n          \"\n        >\n          <template v-if=\"item\">\n            {{ item.text }}\n          </template>\n        </div>\n      </div>\n    </p-popover>\n  </span>\n</template>\n\n<script lang=\"ts\">\nimport { selectProps, setupSelect } from '@vue-js-cron/core'\nimport { default as PButton, type ButtonProps } from 'primevue/button'\nimport { usePrimeVue } from 'primevue/config'\nimport Listbox from 'primevue/listbox'\nimport { default as PPopover, type PopoverProps } from 'primevue/popover'\nimport { defineComponent, ref, type PropType } from 'vue'\n\nexport default defineComponent({\n  inheritAttrs: false,\n  name: 'CustomSelect',\n  components: {\n    PButton,\n    PPopover,\n    Listbox,\n  },\n  props: {\n    ...selectProps<any, string | number>(),\n    buttonProps: {\n      type: Object as PropType<ButtonProps>,\n      default: () => {},\n    },\n    popoverProps: {\n      type: Object as PropType<PopoverProps>,\n      default: () => {},\n    },\n    hideOnClick: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['update:model-value'],\n  setup(props, ctx) {\n    const s = setupSelect(props, () => props.modelValue, ctx)\n    const popover = ref()\n    const primevue = usePrimeVue()\n    const prefix: string = (primevue.config.theme?.options?.prefix ?? '') + '-'\n\n    const cx = (name: string) => {\n      return prefix + name\n    }\n\n    const toggle = (evt: Event) => {\n      popover.value.toggle(evt)\n    }\n\n    const select = (evt: Event, item: any) => {\n      if (!item) return\n      s.select(item)\n      if (props.hideOnClick) {\n        toggle(evt)\n      }\n    }\n\n    return {\n      ...s,\n      popover,\n      toggle,\n      cx,\n      select,\n    }\n  },\n})\n</script>\n\n<style>\n.vcron-p-row {\n  display: flex;\n  flex-wrap: nowrap;\n  border: 0px !important;\n  box-shadow: none !important;\n}\n\n.vcron-p-col {\n  flex-basis: 100%;\n  min-width: 0;\n  text-align: center;\n  cursor: pointer;\n  overflow: hidden;\n  padding: var(--p-listbox-option-padding);\n  border: 0 none;\n  border-radius: var(--p-listbox-option-border-radius);\n  color: var(--p-listbox-option-color);\n  transition:\n    background var(--p-listbox-transition-duration),\n    color var(--p-listbox-transition-duration),\n    border-color var(--p-listbox-transition-duration),\n    box-shadow var(--p-listbox-transition-duration),\n    outline-color var(--p-listbox-transition-duration);\n}\n\n.vcron-p-col:not(.vcron-p-col-selected):hover {\n  background: var(--p-listbox-option-focus-background);\n  color: var(--p-listbox-option-focus-color);\n}\n\n.vcron-p-col-selected {\n  background: var(--p-listbox-option-selected-background);\n  color: var(--p-listbox-option-selected-color);\n}\n</style>\n","<template>\n  <span class=\"vcron-p-select\">\n    <!-- HACK: load style of PrimeVue Listbox -->\n    <Listbox v-show=\"false\"></Listbox>\n    <p-button :disabled=\"disabled\" v-bind=\"buttonProps\" @click=\"toggle\">\n      {{ selection ?? selectedStr\n      }}<i\n        class=\"pi pi-times\"\n        v-if=\"!disabled && clearable && !isEmpty\"\n        @click=\"clear()\"\n        @click.stop=\"\"\n      />\n    </p-button>\n\n    <p-popover v-bind=\"popoverProps\" ref=\"popover\">\n      <div class=\"vcron-p-row\" v-for=\"(itemRow, i) in itemRows\" :key=\"i\">\n        <div\n          :class=\"[has(item) ? 'vcron-p-col-selected' : '']\"\n          class=\"vcron-p-col\"\n          :flex=\"1\"\n          v-for=\"(item, j) in itemRow\"\n          :key=\"j\"\n          @click=\"\n            (evt) => {\n              if (!item) return\n              select(evt, item)\n            }\n          \"\n        >\n          <template v-if=\"item\">\n            {{ item.text }}\n          </template>\n        </div>\n      </div>\n    </p-popover>\n  </span>\n</template>\n\n<script lang=\"ts\">\nimport { selectProps, setupSelect } from '@vue-js-cron/core'\nimport { default as PButton, type ButtonProps } from 'primevue/button'\nimport { usePrimeVue } from 'primevue/config'\nimport Listbox from 'primevue/listbox'\nimport { default as PPopover, type PopoverProps } from 'primevue/popover'\nimport { defineComponent, ref, type PropType } from 'vue'\n\nexport default defineComponent({\n  inheritAttrs: false,\n  name: 'CustomSelect',\n  components: {\n    PButton,\n    PPopover,\n    Listbox,\n  },\n  props: {\n    ...selectProps<any, string | number>(),\n    buttonProps: {\n      type: Object as PropType<ButtonProps>,\n      default: () => {},\n    },\n    popoverProps: {\n      type: Object as PropType<PopoverProps>,\n      default: () => {},\n    },\n    hideOnClick: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['update:model-value'],\n  setup(props, ctx) {\n    const s = setupSelect(props, () => props.modelValue, ctx)\n    const popover = ref()\n    const primevue = usePrimeVue()\n    const prefix: string = (primevue.config.theme?.options?.prefix ?? '') + '-'\n\n    const cx = (name: string) => {\n      return prefix + name\n    }\n\n    const toggle = (evt: Event) => {\n      popover.value.toggle(evt)\n    }\n\n    const select = (evt: Event, item: any) => {\n      if (!item) return\n      s.select(item)\n      if (props.hideOnClick) {\n        toggle(evt)\n      }\n    }\n\n    return {\n      ...s,\n      popover,\n      toggle,\n      cx,\n      select,\n    }\n  },\n})\n</script>\n\n<style>\n.vcron-p-row {\n  display: flex;\n  flex-wrap: nowrap;\n  border: 0px !important;\n  box-shadow: none !important;\n}\n\n.vcron-p-col {\n  flex-basis: 100%;\n  min-width: 0;\n  text-align: center;\n  cursor: pointer;\n  overflow: hidden;\n  padding: var(--p-listbox-option-padding);\n  border: 0 none;\n  border-radius: var(--p-listbox-option-border-radius);\n  color: var(--p-listbox-option-color);\n  transition:\n    background var(--p-listbox-transition-duration),\n    color var(--p-listbox-transition-duration),\n    border-color var(--p-listbox-transition-duration),\n    box-shadow var(--p-listbox-transition-duration),\n    outline-color var(--p-listbox-transition-duration);\n}\n\n.vcron-p-col:not(.vcron-p-col-selected):hover {\n  background: var(--p-listbox-option-focus-background);\n  color: var(--p-listbox-option-focus-color);\n}\n\n.vcron-p-col-selected {\n  background: var(--p-listbox-option-selected-background);\n  color: var(--p-listbox-option-selected-color);\n}\n</style>\n","<template>\n  <div>\n    {{ period.prefix.value }}\n\n    <custom-select\n      :model-value=\"period.selected.value.id\"\n      item-value=\"id\"\n      :items=\"period.items\"\n      @update:model-value=\"period.select($event)\"\n      :disabled=\"disabled\"\n      :button-props=\"buttonProps\"\n      :popover-props=\"popoverProps\"\n    />\n\n    {{ period.suffix.value }}\n\n    <template v-for=\"f in selected\" :key=\"f.id\">\n      {{ f.prefix.value }}\n\n      <custom-select\n        :model-value=\"f.selected.value\"\n        @update:model-value=\"f.select($event)\"\n        :items=\"f.items\"\n        :cols=\"cols[f.id] || 1\"\n        :selection=\"f.text.value\"\n        multiple\n        :clearable=\"clearable\"\n        :disabled=\"disabled\"\n        :button-props=\"buttonProps\"\n        :popover-props=\"popoverProps\"\n        :hideOnClick=\"false\"\n      />\n\n      {{ f.suffix.value }}\n    </template>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport CustomSelect from '@/components/select.vue'\nimport { cronCoreProps, setupCron } from '@vue-js-cron/core'\nimport { defineComponent, type ExtractPropTypes } from 'vue'\n\nexport const cronPrimeProps = () => ({\n  /**\n   * Properties of PrimeVue Button\n   *\n   * @remarks\n   * See {@link https://primevue.org/button/#api.button.props}\n   */\n  buttonProps: {\n    type: Object,\n    default() {\n      return {}\n    },\n  },\n  /**\n   * Properties of PrimeVue Popover\n   *\n   * @remarks\n   * See {@link https://primevue.org/popover/#api.popover.props}\n   */\n  popoverProps: {\n    type: Object,\n    default: () => {},\n  },\n  ...cronCoreProps(),\n})\n\n/**\n * Props of {@link CronPrime}\n *\n * See {@link @vue-js-cron/core!CronCoreProps | CronCoreProps} for a detailed description of each prop\n *\n * @interface\n */\nexport type CronPrimeProps = Partial<ExtractPropTypes<ReturnType<typeof cronPrimeProps>>>\n\n/**\n * @class\n */\nexport default defineComponent({\n  name: 'CronPrime',\n  components: {\n    CustomSelect,\n  },\n  props: cronPrimeProps(),\n  emits: ['update:model-value', 'update:period', 'error'],\n  setup(props, ctx) {\n    return setupCron(props, ctx)\n  },\n})\n</script>\n","<template>\n  <div>\n    {{ period.prefix.value }}\n\n    <custom-select\n      :model-value=\"period.selected.value.id\"\n      item-value=\"id\"\n      :items=\"period.items\"\n      @update:model-value=\"period.select($event)\"\n      :disabled=\"disabled\"\n      :button-props=\"buttonProps\"\n      :popover-props=\"popoverProps\"\n    />\n\n    {{ period.suffix.value }}\n\n    <template v-for=\"f in selected\" :key=\"f.id\">\n      {{ f.prefix.value }}\n\n      <custom-select\n        :model-value=\"f.selected.value\"\n        @update:model-value=\"f.select($event)\"\n        :items=\"f.items\"\n        :cols=\"cols[f.id] || 1\"\n        :selection=\"f.text.value\"\n        multiple\n        :clearable=\"clearable\"\n        :disabled=\"disabled\"\n        :button-props=\"buttonProps\"\n        :popover-props=\"popoverProps\"\n        :hideOnClick=\"false\"\n      />\n\n      {{ f.suffix.value }}\n    </template>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport CustomSelect from '@/components/select.vue'\nimport { cronCoreProps, setupCron } from '@vue-js-cron/core'\nimport { defineComponent, type ExtractPropTypes } from 'vue'\n\nexport const cronPrimeProps = () => ({\n  /**\n   * Properties of PrimeVue Button\n   *\n   * @remarks\n   * See {@link https://primevue.org/button/#api.button.props}\n   */\n  buttonProps: {\n    type: Object,\n    default() {\n      return {}\n    },\n  },\n  /**\n   * Properties of PrimeVue Popover\n   *\n   * @remarks\n   * See {@link https://primevue.org/popover/#api.popover.props}\n   */\n  popoverProps: {\n    type: Object,\n    default: () => {},\n  },\n  ...cronCoreProps(),\n})\n\n/**\n * Props of {@link CronPrime}\n *\n * See {@link @vue-js-cron/core!CronCoreProps | CronCoreProps} for a detailed description of each prop\n *\n * @interface\n */\nexport type CronPrimeProps = Partial<ExtractPropTypes<ReturnType<typeof cronPrimeProps>>>\n\n/**\n * @class\n */\nexport default defineComponent({\n  name: 'CronPrime',\n  components: {\n    CustomSelect,\n  },\n  props: cronPrimeProps(),\n  emits: ['update:model-value', 'update:period', 'error'],\n  setup(props, ctx) {\n    return setupCron(props, ctx)\n  },\n})\n</script>\n","import {\n  default as CronPrime,\n  cronPrimeProps,\n  type CronPrimeProps,\n} from '@/components/cron-prime.vue'\nimport type { App } from 'vue'\n\nexport { CronPrime, cronPrimeProps, type CronPrimeProps }\nexport const CronPrimePlugin = {\n  install: (app: App) => {\n    app.component('CronPrime', CronPrime)\n  },\n}\nexport default CronPrimePlugin\n"],"mappings":"2oCA8CA,IAAA,GAAA,EAAA,EAAA,gBAAA,CAA+B,CAC7B,aAAc,GACd,KAAM,eACN,WAAY,CACV,QAAA,EAAA,QACA,SAAA,EAAA,QACA,QAAA,EAAA,OACF,EACA,MAAO,CACL,IAAA,EAAA,EAAA,YAAA,CAAqC,EACrC,YAAa,CACX,KAAM,OACN,YAAe,CAAC,CAClB,EACA,aAAc,CACZ,KAAM,OACN,YAAe,CAAC,CAClB,EACA,YAAa,CACX,KAAM,QACN,QAAS,EACX,CACF,EACA,MAAO,CAAC,oBAAoB,EAC5B,MAAM,EAAO,EAAK,CAChB,IAAM,GAAA,EAAA,EAAA,YAAA,CAAgB,MAAa,EAAM,WAAY,CAAG,EAClD,GAAA,EAAA,EAAA,IAAA,CAAc,EAEd,IAAA,EAAA,EAAA,YAAA,CAAkB,CAAA,CAAS,OAAO,OAAO,SAAS,QAAU,IAAM,IAElE,EAAM,GACH,EAAS,EAGZ,EAAU,GAAe,CAC7B,EAAQ,MAAM,OAAO,CAAG,CAC1B,EAEM,GAAU,EAAY,IAAc,CACnC,IACL,EAAE,OAAO,CAAI,EACT,EAAM,aACR,EAAO,CAAG,EAEd,EAEA,MAAO,CACL,GAAG,EACH,UACA,SACA,KACA,QACF,CACF,CACF,CAAC,sECnGO,MAAM,gBAAgB,4MAkCrB,OAlCP,EAkCO,wCAhC6B,EAAA,KAAA,KAAA,GAAA,EAAA,CAAA,CAAA,EAAA,MAAjB,EAAK,CAAA,CAAA,oBASX,GAAA,EAAA,EAAA,WAAA,CAAA,CARA,SAAU,EAAA,QAAQ,EAAU,EAAA,YAAW,CAAG,QAAO,EAAA,MAAM,CAAA,EAAA,2BAE9D,EAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,gBAAA,CADC,EAAA,WAAa,EAAA,WAAW,EAAA,CAAA,EAAA,CAGlB,EAAA,UAAY,EAAA,WAAS,CAAK,EAAA,UAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAGjC,IAAA,OAJA,MAAM,cAEL,QAAK,CAAA,AAAA,EAAA,KAAA,GAAE,EAAA,MAAK,EAAA,AAAA,EAAA,MAAA,EAAA,EAAA,cAAA,KACb,CAAA,EAAc,CAAA,MAAA,CAAA,CAAA,yFAwBN,GAAA,EAAA,EAAA,WAAA,CAAA,EApBO,aAAY,CAAE,IAAI,SAAS,CAAA,EAAA,2BACa,GAAA,EAAA,EAAA,UAAA,CAAA,EAAA,GAAA,EAAA,EAAA,mBAAA,CAkBnD,EAAA,SAAA,MAAA,EAAA,EAAA,WAAA,CAlB0C,EAAA,UAAf,EAAS,gDAkBpC,MAAA,CAlBD,MAAM,cAAgD,IAAK,kDAiBxD,EAAA,SAAA,MAAA,EAAA,EAAA,WAAA,CAZgB,GAAZ,EAAM,gDAYV,MAAA,CAfH,OAAA,EAAA,EAAA,eAAA,CAAK,CAAA,CAAG,EAAA,IAAI,CAAI,EAAA,uBAAA,EAAA,EACX,aAAa,CAAA,EAClB,KAAM,EAEN,IAAK,EACL,QAAqB,GAAG,CAA0B,GAA2B,EAAA,OAAO,EAAK,CAAI,KAO9E,IAAA,EAAA,EAAA,UAAA,CAAA,GAAA,EAAA,EAAA,mBAAA,CAEL,EAAA,SAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,gBAAA,CADN,EAAK,IAAI,EAAA,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,EAAA,GAAA,CAAA,2DCaX,OAAwB,CAOnC,YAAa,CACX,KAAM,OACN,SAAU,CACR,MAAO,CAAC,CACV,CACF,EAOA,aAAc,CACZ,KAAM,OACN,YAAe,CAAC,CAClB,EACA,IAAA,EAAA,EAAA,cAAA,CAAiB,CACnB,GAcA,GAAA,EAAA,EAAA,gBAAA,CAA+B,CAC7B,KAAM,YACN,WAAY,CACV,aAAA,CACF,EACA,MAAO,EAAe,EACtB,MAAO,CAAC,qBAAsB,gBAAiB,OAAO,EACtD,MAAM,EAAO,EAAK,CAChB,OAAA,EAAA,EAAA,UAAA,CAAiB,EAAO,CAAG,CAC7B,CACF,CAAC,yHCxDO,MAAA,KAAA,6CAjCD,EAAA,OAAO,OAAO,KAAK,EAAG,IAEzB,CAAA,oBAQE,EAAA,CAPC,cAAa,EAAA,OAAO,SAAS,MAAM,GACpC,aAAW,KACV,MAAO,EAAA,OAAO,MACd,sBAAkB,AAAA,EAAA,KAAA,GAAE,EAAA,OAAO,OAAO,CAAM,EACxC,SAAU,EAAA,SACV,eAAc,EAAA,YACd,gBAAe,EAAA,8GAChB,KAAA,EAAA,EAAA,gBAAA,CAEC,EAAA,OAAO,OAAO,KAAK,EAAG,IAEzB,CAAA,gDAkBW,EAAA,SAAA,MAAA,EAAA,EAAA,WAAA,CAlBW,EAAA,SAAL,+DAAqB,EAAE,EAAA,EAAA,6CACnC,EAAE,OAAO,KAAK,EAAG,IAEpB,CAAA,oBAYE,EAAA,CAXC,cAAa,EAAE,SAAS,MACxB,sBAAkB,GAAE,EAAE,OAAO,CAAM,EACnC,MAAO,EAAE,MACT,KAAM,EAAA,KAAK,EAAE,KAAE,EACf,UAAW,EAAE,KAAK,MACnB,SAAA,GACC,UAAW,EAAA,UACX,SAAU,EAAA,SACV,eAAc,EAAA,YACd,gBAAe,EAAA,aACf,YAAa,yJACd,KAAA,EAAA,EAAA,gBAAA,CAEC,EAAE,OAAO,KAAK,EAAA,CAAA,2CCzBV,EAAkB,CAC7B,QAAU,GAAa,CACrB,EAAI,UAAU,YAAa,CAAS,CACtC,CACF"}