@neutron.co.id/operasional-interfaces 1.17.5-beta.1 → 1.17.8-beta.1

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.
@@ -13,6 +13,9 @@ export const config = OfficeInterfaces.define({
13
13
  "AttendanceManager",
14
14
  "AttendanceSupervisor",
15
15
  "AttendanceDelegate",
16
+ // Attendance Type
17
+ "AttendanceTypeCollection",
18
+ "AttendanceTypeSingle",
16
19
  // Check In
17
20
  "CheckInCollection",
18
21
  "CheckInSingle",
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
2
  import { NeonSingle, useSingle } from '@neon.id/context'
3
- import { NeonField, NeonForm } from '@neon.id/form'
3
+ import { NeonField, NeonForm, NeonCheck } from '@neon.id/form'
4
4
  import { OfficeRelation, OfficeTab, OfficeTabs } from '@neon.id/office'
5
- import { ref } from 'vue'
5
+ import { useToast } from '@neon.id/interfaces'
6
6
  import type {
7
7
  TPersonaliaAttendanceTypeModel,
8
8
  Schema,
@@ -14,14 +14,27 @@ const {
14
14
  values,
15
15
  isLoading,
16
16
  isChanged,
17
- isReady,
18
17
  isMain,
19
- isNew,
20
18
  saveOne,
21
19
  discardChanges,
22
20
  } = useSingle<Schema.AttendanceType, TPersonaliaAttendanceTypeModel>()
23
21
 
24
- const key = ref(0)
22
+ const toast = useToast()
23
+
24
+ async function saveCheck() {
25
+ if (values.value.code === '') {
26
+ toast.push({
27
+ id: 'neu:attendance-type:code',
28
+ icon: 'warning',
29
+ content: 'Kode dari Tipe Absensi belum diisi!',
30
+ color: 'danger',
31
+ placement: 'bottom-right',
32
+ })
33
+ return
34
+ } else if (values.value.name !== '') {
35
+ await saveOne()
36
+ }
37
+ }
25
38
  </script>
26
39
 
27
40
  <template>
@@ -35,7 +48,7 @@ const key = ref(0)
35
48
  :is-changed="isChanged"
36
49
  use-unsaved
37
50
  @cancel="discardChanges"
38
- @submit="saveOne"
51
+ @submit="saveCheck"
39
52
  >
40
53
  <NeonField v-model="values.name" v-bind="fields.name" />
41
54
  <NeonField v-model="values.code" v-bind="fields.code" />
@@ -1,4 +1,5 @@
1
1
  export * from './attendance';
2
+ export * from './attendanceType';
2
3
  export * from './checkIn';
3
4
  export * from './plan';
4
5
  export * from './planType';
@@ -1,4 +1,5 @@
1
1
  export * from "./attendance/index.mjs";
2
+ export * from "./attendanceType/index.mjs";
2
3
  export * from "./checkIn/index.mjs";
3
4
  export * from "./plan/index.mjs";
4
5
  export * from "./planType/index.mjs";
@@ -0,0 +1 @@
1
+ export { default as AttendanceTypeCollection } from './AttendanceTypeCollection.vue';
@@ -0,0 +1 @@
1
+ export { default as AttendanceTypeSingle } from './AttendanceTypeSingle.vue';
@@ -0,0 +1,2 @@
1
+ export * from './AttendanceTypeCollection';
2
+ export * from './AttendanceTypeSingle';
@@ -1,4 +1,5 @@
1
1
  export * from './attendance';
2
+ export * from './attendanceType';
2
3
  export * from './checkIn';
3
4
  export * from './plan';
4
5
  export * from './planType';
@@ -1515,7 +1515,7 @@ const _hoisted_2$q = {
1515
1515
  key: 2,
1516
1516
  class: "section"
1517
1517
  };
1518
- const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
1518
+ const _sfc_main$1o = /* @__PURE__ */ vue.defineComponent({
1519
1519
  ...{ name: "OperasionalIdentitas" },
1520
1520
  __name: "OperasionalIdentitas",
1521
1521
  props: {
@@ -1876,7 +1876,7 @@ const _export_sfc$1 = (sfc, props) => {
1876
1876
  }
1877
1877
  return target;
1878
1878
  };
1879
- const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$1m, [["__scopeId", "data-v-0befc683"]]);
1879
+ const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$1o, [["__scopeId", "data-v-0befc683"]]);
1880
1880
  var top = "top";
1881
1881
  var bottom = "bottom";
1882
1882
  var right = "right";
@@ -11434,7 +11434,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ vue.defineComponent({
11434
11434
  };
11435
11435
  }
11436
11436
  });
11437
- const _sfc_main$1l = vue.defineComponent({
11437
+ const _sfc_main$1n = vue.defineComponent({
11438
11438
  inheritAttrs: false,
11439
11439
  emits,
11440
11440
  props: propsDef,
@@ -11453,7 +11453,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
11453
11453
  vue.createVNode(_component_DatePickerPopover, vue.normalizeProps(vue.guardReactiveProps(_ctx.$attrs)), null, 16)
11454
11454
  ], 64)) : (vue.openBlock(), vue.createBlock(_component_DatePickerBase, vue.normalizeProps(vue.mergeProps({ key: 1 }, _ctx.$attrs)), null, 16));
11455
11455
  }
11456
- const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["render", _sfc_render]]);
11456
+ const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["render", _sfc_render]]);
11457
11457
  dayjs.extend(durationPlugin);
11458
11458
  dayjs.extend(relativeTimePlugin);
11459
11459
  dayjs.extend(advancedFormat);
@@ -11481,7 +11481,7 @@ const _hoisted_2$o = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.cr
11481
11481
  const _hoisted_3$f = [
11482
11482
  _hoisted_2$o
11483
11483
  ];
11484
- const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
11484
+ const _sfc_main$1m = /* @__PURE__ */ vue.defineComponent({
11485
11485
  __name: "NeonTime",
11486
11486
  props: {
11487
11487
  modelValue: {
@@ -11540,7 +11540,7 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
11540
11540
  };
11541
11541
  }
11542
11542
  });
11543
- const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-af42e627"]]);
11543
+ const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$1m, [["__scopeId", "data-v-af42e627"]]);
11544
11544
  const useAttendanceStore = pinia.defineStore("neu:personalia:attendance", {
11545
11545
  state: () => ({
11546
11546
  isEntering: false,
@@ -12964,7 +12964,7 @@ const _hoisted_1$z = {
12964
12964
  key: 0,
12965
12965
  class: "office-single-sync"
12966
12966
  };
12967
- const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
12967
+ const _sfc_main$1l = /* @__PURE__ */ vue.defineComponent({
12968
12968
  ...{ name: "OfficeSingleSync" },
12969
12969
  __name: "OfficeSingleSync",
12970
12970
  setup(__props) {
@@ -13004,9 +13004,9 @@ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
13004
13004
  };
13005
13005
  }
13006
13006
  });
13007
- const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1j, [["__scopeId", "data-v-3dbc6c7d"]]);
13007
+ const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-3dbc6c7d"]]);
13008
13008
  const _hoisted_1$y = { class: "period-button" };
13009
- const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
13009
+ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
13010
13010
  ...{ name: "PeriodButton" },
13011
13011
  __name: "PeriodButton",
13012
13012
  emits: ["update:period", "update:date", "sync"],
@@ -13054,9 +13054,9 @@ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
13054
13054
  };
13055
13055
  }
13056
13056
  });
13057
- const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$1i, [["__scopeId", "data-v-5f2c3308"]]);
13057
+ const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-5f2c3308"]]);
13058
13058
  const _hoisted_1$x = { id: "grading-actions" };
13059
- const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
13059
+ const _sfc_main$1j = /* @__PURE__ */ vue.defineComponent({
13060
13060
  ...{ name: "NeutronImportButton" },
13061
13061
  __name: "NeutronImportButton",
13062
13062
  setup(__props) {
@@ -13083,7 +13083,7 @@ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
13083
13083
  };
13084
13084
  }
13085
13085
  });
13086
- const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
13086
+ const _sfc_main$1i = /* @__PURE__ */ vue.defineComponent({
13087
13087
  ...{ name: "AttendanceCollection" },
13088
13088
  __name: "AttendanceCollection",
13089
13089
  props: {
@@ -13136,7 +13136,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
13136
13136
  });
13137
13137
  const _hoisted_1$w = { class: "grid gap-2 sm:grid-cols-2" };
13138
13138
  const _hoisted_2$n = { class: "text-right text-fg-subdued text-sm" };
13139
- const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13139
+ const _sfc_main$1h = /* @__PURE__ */ vue.defineComponent({
13140
13140
  __name: "AttendanceSingle",
13141
13141
  setup(__props) {
13142
13142
  const {
@@ -13317,7 +13317,7 @@ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13317
13317
  };
13318
13318
  }
13319
13319
  });
13320
- const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1f, [["__scopeId", "data-v-b9363121"]]);
13320
+ const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1h, [["__scopeId", "data-v-b9363121"]]);
13321
13321
  const _hoisted_1$v = { class: "flex flex-wrap" };
13322
13322
  const _hoisted_2$m = { class: "mt-2" };
13323
13323
  const _hoisted_3$e = { class: "mt-2" };
@@ -13336,7 +13336,7 @@ const _hoisted_8$9 = {
13336
13336
  class: "grid gap-2 sm:grid-cols-2"
13337
13337
  };
13338
13338
  const _hoisted_9$9 = { class: "text-right text-fg-subdued text-sm" };
13339
- const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13339
+ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
13340
13340
  __name: "AttendanceManager",
13341
13341
  setup(__props) {
13342
13342
  var _a;
@@ -13702,7 +13702,7 @@ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
13702
13702
  };
13703
13703
  }
13704
13704
  });
13705
- const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$1e, [["__scopeId", "data-v-b5828cb6"]]);
13705
+ const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$1g, [["__scopeId", "data-v-b5828cb6"]]);
13706
13706
  const _hoisted_1$u = {
13707
13707
  key: 1,
13708
13708
  class: "flex flex-wrap"
@@ -13725,7 +13725,7 @@ const _hoisted_9$8 = {
13725
13725
  class: "grid gap-2 sm:grid-cols-2"
13726
13726
  };
13727
13727
  const _hoisted_10$8 = { class: "text-right text-fg-subdued text-sm" };
13728
- const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
13728
+ const _sfc_main$1f = /* @__PURE__ */ vue.defineComponent({
13729
13729
  __name: "AttendanceStaff",
13730
13730
  setup(__props) {
13731
13731
  var _a;
@@ -14262,7 +14262,7 @@ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
14262
14262
  };
14263
14263
  }
14264
14264
  });
14265
- const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$1d, [["__scopeId", "data-v-a7838db4"]]);
14265
+ const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$1f, [["__scopeId", "data-v-a7838db4"]]);
14266
14266
  const _hoisted_1$t = { class: "flex flex-wrap" };
14267
14267
  const _hoisted_2$k = { class: "mt-2" };
14268
14268
  const _hoisted_3$c = { class: "mt-2" };
@@ -14283,7 +14283,7 @@ const _hoisted_10$7 = {
14283
14283
  class: "grid gap-2 sm:grid-cols-2"
14284
14284
  };
14285
14285
  const _hoisted_11$7 = { class: "text-right text-fg-subdued text-sm" };
14286
- const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
14286
+ const _sfc_main$1e = /* @__PURE__ */ vue.defineComponent({
14287
14287
  __name: "AttendanceSupervisor",
14288
14288
  setup(__props) {
14289
14289
  var _a;
@@ -14783,8 +14783,8 @@ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
14783
14783
  };
14784
14784
  }
14785
14785
  });
14786
- const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1c, [["__scopeId", "data-v-cd4b4054"]]);
14787
- const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
14786
+ const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1e, [["__scopeId", "data-v-cd4b4054"]]);
14787
+ const _sfc_main$1d = /* @__PURE__ */ vue.defineComponent({
14788
14788
  __name: "AttendanceDelegate",
14789
14789
  setup(__props) {
14790
14790
  var _a;
@@ -14949,7 +14949,147 @@ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
14949
14949
  };
14950
14950
  }
14951
14951
  });
14952
- const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$1b, [["__scopeId", "data-v-fa8999aa"]]);
14952
+ const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$1d, [["__scopeId", "data-v-fa8999aa"]]);
14953
+ const _sfc_main$1c = /* @__PURE__ */ vue.defineComponent({
14954
+ ...{ name: "AttendanceTypeCollection" },
14955
+ __name: "AttendanceTypeCollection",
14956
+ setup(__props) {
14957
+ context.useCollection();
14958
+ return (_ctx, _cache) => {
14959
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonCollection), { class: "neu-attendance-type-collection" }, {
14960
+ default: vue.withCtx(() => [
14961
+ vue.createVNode(vue.unref(office$1.OfficeCollectionTable))
14962
+ ]),
14963
+ _: 1
14964
+ /* STABLE */
14965
+ });
14966
+ };
14967
+ }
14968
+ });
14969
+ const _sfc_main$1b = /* @__PURE__ */ vue.defineComponent({
14970
+ __name: "AttendanceTypeSingle",
14971
+ setup(__props) {
14972
+ const {
14973
+ fields,
14974
+ initialValues,
14975
+ values,
14976
+ isLoading,
14977
+ isChanged,
14978
+ isMain,
14979
+ saveOne,
14980
+ discardChanges
14981
+ } = context.useSingle();
14982
+ const toast = interfaces.useToast();
14983
+ async function saveCheck() {
14984
+ if (values.value.code === "") {
14985
+ toast.push({
14986
+ id: "neu:attendance-type:code",
14987
+ icon: "warning",
14988
+ content: "Kode dari Tipe Absensi belum diisi!",
14989
+ color: "danger",
14990
+ placement: "bottom-right"
14991
+ });
14992
+ return;
14993
+ } else if (values.value.name !== "") {
14994
+ await saveOne();
14995
+ }
14996
+ }
14997
+ return (_ctx, _cache) => {
14998
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-attendance-type-single" }, {
14999
+ default: vue.withCtx(() => [
15000
+ vue.createVNode(vue.unref(office$1.OfficeTabs), { "use-url": vue.unref(isMain) }, {
15001
+ default: vue.withCtx(() => [
15002
+ vue.createVNode(vue.unref(office$1.OfficeTab), {
15003
+ handle: "info",
15004
+ icon: "circle-info",
15005
+ title: "Info"
15006
+ }, {
15007
+ default: vue.withCtx(() => [
15008
+ vue.createVNode(vue.unref(form.NeonForm), {
15009
+ handle: "info",
15010
+ "initial-values": vue.unref(initialValues),
15011
+ "is-loading": vue.unref(isLoading),
15012
+ "is-changed": vue.unref(isChanged),
15013
+ "use-unsaved": "",
15014
+ onCancel: vue.unref(discardChanges),
15015
+ onSubmit: saveCheck
15016
+ }, {
15017
+ default: vue.withCtx(() => [
15018
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15019
+ modelValue: vue.unref(values).name,
15020
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
15021
+ }, vue.unref(fields).name), null, 16, ["modelValue"]),
15022
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15023
+ modelValue: vue.unref(values).code,
15024
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).code = $event)
15025
+ }, vue.unref(fields).code), null, 16, ["modelValue"]),
15026
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15027
+ modelValue: vue.unref(values).leaveQuota,
15028
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).leaveQuota = $event)
15029
+ }, vue.unref(fields).leaveQuota), null, 16, ["modelValue"]),
15030
+ vue.createVNode(vue.unref(office$1.OfficeRelation), {
15031
+ modelValue: vue.unref(values),
15032
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
15033
+ field: vue.unref(fields).branches
15034
+ }, null, 8, ["modelValue", "field"]),
15035
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15036
+ modelValue: vue.unref(values).maxDurationDays,
15037
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).maxDurationDays = $event)
15038
+ }, vue.unref(fields).maxDurationDays), null, 16, ["modelValue"]),
15039
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15040
+ modelValue: vue.unref(values).showLeaveQuota,
15041
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(values).showLeaveQuota = $event)
15042
+ }, vue.unref(fields).showLeaveQuota), {
15043
+ input: vue.withCtx(() => [
15044
+ vue.createVNode(vue.unref(form.NeonCheck), {
15045
+ modelValue: vue.unref(values).showLeaveQuota,
15046
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).showLeaveQuota = $event),
15047
+ label: "Tampilkan",
15048
+ class: "mt-2"
15049
+ }, null, 8, ["modelValue"])
15050
+ ]),
15051
+ _: 1
15052
+ /* STABLE */
15053
+ }, 16, ["modelValue"]),
15054
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15055
+ modelValue: vue.unref(values).showAttendanceType,
15056
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(values).showAttendanceType = $event)
15057
+ }, vue.unref(fields).showAttendanceType), {
15058
+ input: vue.withCtx(() => [
15059
+ vue.createVNode(vue.unref(form.NeonCheck), {
15060
+ modelValue: vue.unref(values).showAttendanceType,
15061
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(values).showAttendanceType = $event),
15062
+ label: "Tampilkan",
15063
+ class: "mt-2"
15064
+ }, null, 8, ["modelValue"])
15065
+ ]),
15066
+ _: 1
15067
+ /* STABLE */
15068
+ }, 16, ["modelValue"]),
15069
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
15070
+ modelValue: vue.unref(values).description,
15071
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(values).description = $event)
15072
+ }, vue.unref(fields).description), null, 16, ["modelValue"])
15073
+ ]),
15074
+ _: 1
15075
+ /* STABLE */
15076
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel"])
15077
+ ]),
15078
+ _: 1
15079
+ /* STABLE */
15080
+ })
15081
+ ]),
15082
+ _: 1
15083
+ /* STABLE */
15084
+ }, 8, ["use-url"])
15085
+ ]),
15086
+ _: 1
15087
+ /* STABLE */
15088
+ });
15089
+ };
15090
+ }
15091
+ });
15092
+ const AttendanceTypeSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1b, [["__scopeId", "data-v-776e6c14"]]);
14953
15093
  const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-802b3ded"), n = n(), vue.popScopeId(), n);
14954
15094
  const _hoisted_1$s = { id: "view-checkIns" };
14955
15095
  const _hoisted_2$j = { class: "summary" };
@@ -25939,7 +26079,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
25939
26079
  vue.createElementVNode("div", _hoisted_6$1, [
25940
26080
  vue.createVNode(vue.unref(office$1.OfficeCollectionQuery), { displays: __props.displays }, {
25941
26081
  default: vue.withCtx(() => [
25942
- vue.unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1h), { key: 0 })) : vue.createCommentVNode("v-if", true),
26082
+ vue.unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$1j), { key: 0 })) : vue.createCommentVNode("v-if", true),
25943
26083
  vue.createVNode(vue.unref(office$1.OfficeCollectionOperation), {
25944
26084
  "is-main": "",
25945
26085
  path: __props.path
@@ -26513,12 +26653,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
26513
26653
  const ShiftStaffImport = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-818a1e6a"]]);
26514
26654
  const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26515
26655
  __proto__: null,
26516
- AttendanceCollection: _sfc_main$1g,
26656
+ AttendanceCollection: _sfc_main$1i,
26517
26657
  AttendanceDelegate,
26518
26658
  AttendanceManager,
26519
26659
  AttendanceSingle,
26520
26660
  AttendanceStaff,
26521
26661
  AttendanceSupervisor,
26662
+ AttendanceTypeCollection: _sfc_main$1c,
26663
+ AttendanceTypeSingle,
26522
26664
  CheckInAccess,
26523
26665
  CheckInCollection: _sfc_main$13,
26524
26666
  CheckInExternal,
@@ -26530,7 +26672,7 @@ const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
26530
26672
  CheckInSupervisor,
26531
26673
  NOperasional: operasional_types,
26532
26674
  NeonTime,
26533
- NeutronImportButton: _sfc_main$1h,
26675
+ NeutronImportButton: _sfc_main$1j,
26534
26676
  OfficeSingleSync,
26535
26677
  OperasionalIdentitas,
26536
26678
  PeriodButton,
@@ -26618,6 +26760,9 @@ const config = helpers.OfficeInterfaces.define({
26618
26760
  "AttendanceManager",
26619
26761
  "AttendanceSupervisor",
26620
26762
  "AttendanceDelegate",
26763
+ // Attendance Type
26764
+ "AttendanceTypeCollection",
26765
+ "AttendanceTypeSingle",
26621
26766
  // Check In
26622
26767
  "CheckInCollection",
26623
26768
  "CheckInSingle",
@@ -3,8 +3,8 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { NeonEditorPlugin } from "@neon.id/editor";
5
5
  import { NeonFieldPlugin } from "@neon.id/field";
6
- import { NeonField, NeonForm, NeonFields, NeonCheck, NeonFormPlugin } from "@neon.id/form";
7
- import { NeonAvatar, NeonDivider, NeonModal, NeonSheet, useToastStore, NeonButton, NeonAlert, NeonSlider, NeonSlide, NeonStat, NeonInfo, NeonCopy, NeonPart, registerDirectives, registerIconComponents } from "@neon.id/interfaces";
6
+ import { NeonField, NeonForm, NeonCheck, NeonFields, NeonFormPlugin } from "@neon.id/form";
7
+ import { NeonAvatar, NeonDivider, NeonModal, NeonSheet, useToastStore, NeonButton, NeonAlert, useToast, NeonSlider, NeonSlide, NeonStat, NeonInfo, NeonCopy, NeonPart, registerDirectives, registerIconComponents } from "@neon.id/interfaces";
8
8
  import { OfficeCollectionTable, OfficeCollectionCalendar, OfficeTabs, OfficeTab, OfficeRelation, OfficeContent, OfficePeekSingle, OfficeCollectionQuery, OfficeCollectionOperation, OfficeCollectionRelated, OfficeCollectionContent, NeonOfficePlugin } from "@neon.id/office";
9
9
  import { withRelation, NeonRelationSheet, NeonRelationPlugin } from "@neon.id/relation";
10
10
  import { defineComponent, ref, computed, h, watch, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createBlock, unref, mergeProps, createCommentVNode, reactive, onMounted, onUnmounted, toRefs, inject, watchEffect, provide, nextTick, resolveDynamicComponent, normalizeProps, renderSlot, normalizeClass, createElementVNode, toDisplayString, Fragment, renderList, normalizeStyle, withKeys, withDirectives, toRef, guardReactiveProps, createTextVNode, isRef, Transition, resolveDirective, toHandlers, withModifiers, pushScopeId, popScopeId, onBeforeUnmount, vShow } from "vue";
@@ -1496,7 +1496,7 @@ const _hoisted_2$q = {
1496
1496
  key: 2,
1497
1497
  class: "section"
1498
1498
  };
1499
- const _sfc_main$1m = /* @__PURE__ */ defineComponent({
1499
+ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
1500
1500
  ...{ name: "OperasionalIdentitas" },
1501
1501
  __name: "OperasionalIdentitas",
1502
1502
  props: {
@@ -1857,7 +1857,7 @@ const _export_sfc$1 = (sfc, props) => {
1857
1857
  }
1858
1858
  return target;
1859
1859
  };
1860
- const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$1m, [["__scopeId", "data-v-0befc683"]]);
1860
+ const OperasionalIdentitas = /* @__PURE__ */ _export_sfc$1(_sfc_main$1o, [["__scopeId", "data-v-0befc683"]]);
1861
1861
  var top = "top";
1862
1862
  var bottom = "bottom";
1863
1863
  var right = "right";
@@ -11415,7 +11415,7 @@ const _sfc_main$1$1 = /* @__PURE__ */ defineComponent({
11415
11415
  };
11416
11416
  }
11417
11417
  });
11418
- const _sfc_main$1l = defineComponent({
11418
+ const _sfc_main$1n = defineComponent({
11419
11419
  inheritAttrs: false,
11420
11420
  emits,
11421
11421
  props: propsDef,
@@ -11434,7 +11434,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
11434
11434
  createVNode(_component_DatePickerPopover, normalizeProps(guardReactiveProps(_ctx.$attrs)), null, 16)
11435
11435
  ], 64)) : (openBlock(), createBlock(_component_DatePickerBase, normalizeProps(mergeProps({ key: 1 }, _ctx.$attrs)), null, 16));
11436
11436
  }
11437
- const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["render", _sfc_render]]);
11437
+ const DatePicker = /* @__PURE__ */ _export_sfc(_sfc_main$1n, [["render", _sfc_render]]);
11438
11438
  dayjs.extend(durationPlugin);
11439
11439
  dayjs.extend(relativeTimePlugin);
11440
11440
  dayjs.extend(advancedFormat);
@@ -11462,7 +11462,7 @@ const _hoisted_2$o = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ create
11462
11462
  const _hoisted_3$f = [
11463
11463
  _hoisted_2$o
11464
11464
  ];
11465
- const _sfc_main$1k = /* @__PURE__ */ defineComponent({
11465
+ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
11466
11466
  __name: "NeonTime",
11467
11467
  props: {
11468
11468
  modelValue: {
@@ -11521,7 +11521,7 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
11521
11521
  };
11522
11522
  }
11523
11523
  });
11524
- const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-af42e627"]]);
11524
+ const NeonTime = /* @__PURE__ */ _export_sfc$1(_sfc_main$1m, [["__scopeId", "data-v-af42e627"]]);
11525
11525
  const useAttendanceStore = defineStore("neu:personalia:attendance", {
11526
11526
  state: () => ({
11527
11527
  isEntering: false,
@@ -12945,7 +12945,7 @@ const _hoisted_1$z = {
12945
12945
  key: 0,
12946
12946
  class: "office-single-sync"
12947
12947
  };
12948
- const _sfc_main$1j = /* @__PURE__ */ defineComponent({
12948
+ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
12949
12949
  ...{ name: "OfficeSingleSync" },
12950
12950
  __name: "OfficeSingleSync",
12951
12951
  setup(__props) {
@@ -12985,9 +12985,9 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
12985
12985
  };
12986
12986
  }
12987
12987
  });
12988
- const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1j, [["__scopeId", "data-v-3dbc6c7d"]]);
12988
+ const OfficeSingleSync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-3dbc6c7d"]]);
12989
12989
  const _hoisted_1$y = { class: "period-button" };
12990
- const _sfc_main$1i = /* @__PURE__ */ defineComponent({
12990
+ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
12991
12991
  ...{ name: "PeriodButton" },
12992
12992
  __name: "PeriodButton",
12993
12993
  emits: ["update:period", "update:date", "sync"],
@@ -13035,9 +13035,9 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
13035
13035
  };
13036
13036
  }
13037
13037
  });
13038
- const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$1i, [["__scopeId", "data-v-5f2c3308"]]);
13038
+ const PeriodButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-5f2c3308"]]);
13039
13039
  const _hoisted_1$x = { id: "grading-actions" };
13040
- const _sfc_main$1h = /* @__PURE__ */ defineComponent({
13040
+ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
13041
13041
  ...{ name: "NeutronImportButton" },
13042
13042
  __name: "NeutronImportButton",
13043
13043
  setup(__props) {
@@ -13064,7 +13064,7 @@ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
13064
13064
  };
13065
13065
  }
13066
13066
  });
13067
- const _sfc_main$1g = /* @__PURE__ */ defineComponent({
13067
+ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
13068
13068
  ...{ name: "AttendanceCollection" },
13069
13069
  __name: "AttendanceCollection",
13070
13070
  props: {
@@ -13117,7 +13117,7 @@ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
13117
13117
  });
13118
13118
  const _hoisted_1$w = { class: "grid gap-2 sm:grid-cols-2" };
13119
13119
  const _hoisted_2$n = { class: "text-right text-fg-subdued text-sm" };
13120
- const _sfc_main$1f = /* @__PURE__ */ defineComponent({
13120
+ const _sfc_main$1h = /* @__PURE__ */ defineComponent({
13121
13121
  __name: "AttendanceSingle",
13122
13122
  setup(__props) {
13123
13123
  const {
@@ -13298,7 +13298,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
13298
13298
  };
13299
13299
  }
13300
13300
  });
13301
- const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1f, [["__scopeId", "data-v-b9363121"]]);
13301
+ const AttendanceSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1h, [["__scopeId", "data-v-b9363121"]]);
13302
13302
  const _hoisted_1$v = { class: "flex flex-wrap" };
13303
13303
  const _hoisted_2$m = { class: "mt-2" };
13304
13304
  const _hoisted_3$e = { class: "mt-2" };
@@ -13317,7 +13317,7 @@ const _hoisted_8$9 = {
13317
13317
  class: "grid gap-2 sm:grid-cols-2"
13318
13318
  };
13319
13319
  const _hoisted_9$9 = { class: "text-right text-fg-subdued text-sm" };
13320
- const _sfc_main$1e = /* @__PURE__ */ defineComponent({
13320
+ const _sfc_main$1g = /* @__PURE__ */ defineComponent({
13321
13321
  __name: "AttendanceManager",
13322
13322
  setup(__props) {
13323
13323
  var _a;
@@ -13683,7 +13683,7 @@ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
13683
13683
  };
13684
13684
  }
13685
13685
  });
13686
- const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$1e, [["__scopeId", "data-v-b5828cb6"]]);
13686
+ const AttendanceManager = /* @__PURE__ */ _export_sfc$1(_sfc_main$1g, [["__scopeId", "data-v-b5828cb6"]]);
13687
13687
  const _hoisted_1$u = {
13688
13688
  key: 1,
13689
13689
  class: "flex flex-wrap"
@@ -13706,7 +13706,7 @@ const _hoisted_9$8 = {
13706
13706
  class: "grid gap-2 sm:grid-cols-2"
13707
13707
  };
13708
13708
  const _hoisted_10$8 = { class: "text-right text-fg-subdued text-sm" };
13709
- const _sfc_main$1d = /* @__PURE__ */ defineComponent({
13709
+ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
13710
13710
  __name: "AttendanceStaff",
13711
13711
  setup(__props) {
13712
13712
  var _a;
@@ -14243,7 +14243,7 @@ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
14243
14243
  };
14244
14244
  }
14245
14245
  });
14246
- const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$1d, [["__scopeId", "data-v-a7838db4"]]);
14246
+ const AttendanceStaff = /* @__PURE__ */ _export_sfc$1(_sfc_main$1f, [["__scopeId", "data-v-a7838db4"]]);
14247
14247
  const _hoisted_1$t = { class: "flex flex-wrap" };
14248
14248
  const _hoisted_2$k = { class: "mt-2" };
14249
14249
  const _hoisted_3$c = { class: "mt-2" };
@@ -14264,7 +14264,7 @@ const _hoisted_10$7 = {
14264
14264
  class: "grid gap-2 sm:grid-cols-2"
14265
14265
  };
14266
14266
  const _hoisted_11$7 = { class: "text-right text-fg-subdued text-sm" };
14267
- const _sfc_main$1c = /* @__PURE__ */ defineComponent({
14267
+ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
14268
14268
  __name: "AttendanceSupervisor",
14269
14269
  setup(__props) {
14270
14270
  var _a;
@@ -14764,8 +14764,8 @@ const _sfc_main$1c = /* @__PURE__ */ defineComponent({
14764
14764
  };
14765
14765
  }
14766
14766
  });
14767
- const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1c, [["__scopeId", "data-v-cd4b4054"]]);
14768
- const _sfc_main$1b = /* @__PURE__ */ defineComponent({
14767
+ const AttendanceSupervisor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1e, [["__scopeId", "data-v-cd4b4054"]]);
14768
+ const _sfc_main$1d = /* @__PURE__ */ defineComponent({
14769
14769
  __name: "AttendanceDelegate",
14770
14770
  setup(__props) {
14771
14771
  var _a;
@@ -14930,7 +14930,147 @@ const _sfc_main$1b = /* @__PURE__ */ defineComponent({
14930
14930
  };
14931
14931
  }
14932
14932
  });
14933
- const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$1b, [["__scopeId", "data-v-fa8999aa"]]);
14933
+ const AttendanceDelegate = /* @__PURE__ */ _export_sfc$1(_sfc_main$1d, [["__scopeId", "data-v-fa8999aa"]]);
14934
+ const _sfc_main$1c = /* @__PURE__ */ defineComponent({
14935
+ ...{ name: "AttendanceTypeCollection" },
14936
+ __name: "AttendanceTypeCollection",
14937
+ setup(__props) {
14938
+ useCollection();
14939
+ return (_ctx, _cache) => {
14940
+ return openBlock(), createBlock(unref(NeonCollection), { class: "neu-attendance-type-collection" }, {
14941
+ default: withCtx(() => [
14942
+ createVNode(unref(OfficeCollectionTable))
14943
+ ]),
14944
+ _: 1
14945
+ /* STABLE */
14946
+ });
14947
+ };
14948
+ }
14949
+ });
14950
+ const _sfc_main$1b = /* @__PURE__ */ defineComponent({
14951
+ __name: "AttendanceTypeSingle",
14952
+ setup(__props) {
14953
+ const {
14954
+ fields,
14955
+ initialValues,
14956
+ values,
14957
+ isLoading,
14958
+ isChanged,
14959
+ isMain,
14960
+ saveOne,
14961
+ discardChanges
14962
+ } = useSingle();
14963
+ const toast = useToast();
14964
+ async function saveCheck() {
14965
+ if (values.value.code === "") {
14966
+ toast.push({
14967
+ id: "neu:attendance-type:code",
14968
+ icon: "warning",
14969
+ content: "Kode dari Tipe Absensi belum diisi!",
14970
+ color: "danger",
14971
+ placement: "bottom-right"
14972
+ });
14973
+ return;
14974
+ } else if (values.value.name !== "") {
14975
+ await saveOne();
14976
+ }
14977
+ }
14978
+ return (_ctx, _cache) => {
14979
+ return openBlock(), createBlock(unref(NeonSingle), { class: "neu-attendance-type-single" }, {
14980
+ default: withCtx(() => [
14981
+ createVNode(unref(OfficeTabs), { "use-url": unref(isMain) }, {
14982
+ default: withCtx(() => [
14983
+ createVNode(unref(OfficeTab), {
14984
+ handle: "info",
14985
+ icon: "circle-info",
14986
+ title: "Info"
14987
+ }, {
14988
+ default: withCtx(() => [
14989
+ createVNode(unref(NeonForm), {
14990
+ handle: "info",
14991
+ "initial-values": unref(initialValues),
14992
+ "is-loading": unref(isLoading),
14993
+ "is-changed": unref(isChanged),
14994
+ "use-unsaved": "",
14995
+ onCancel: unref(discardChanges),
14996
+ onSubmit: saveCheck
14997
+ }, {
14998
+ default: withCtx(() => [
14999
+ createVNode(unref(NeonField), mergeProps({
15000
+ modelValue: unref(values).name,
15001
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(values).name = $event)
15002
+ }, unref(fields).name), null, 16, ["modelValue"]),
15003
+ createVNode(unref(NeonField), mergeProps({
15004
+ modelValue: unref(values).code,
15005
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(values).code = $event)
15006
+ }, unref(fields).code), null, 16, ["modelValue"]),
15007
+ createVNode(unref(NeonField), mergeProps({
15008
+ modelValue: unref(values).leaveQuota,
15009
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(values).leaveQuota = $event)
15010
+ }, unref(fields).leaveQuota), null, 16, ["modelValue"]),
15011
+ createVNode(unref(OfficeRelation), {
15012
+ modelValue: unref(values),
15013
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(values) ? values.value = $event : null),
15014
+ field: unref(fields).branches
15015
+ }, null, 8, ["modelValue", "field"]),
15016
+ createVNode(unref(NeonField), mergeProps({
15017
+ modelValue: unref(values).maxDurationDays,
15018
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(values).maxDurationDays = $event)
15019
+ }, unref(fields).maxDurationDays), null, 16, ["modelValue"]),
15020
+ createVNode(unref(NeonField), mergeProps({
15021
+ modelValue: unref(values).showLeaveQuota,
15022
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(values).showLeaveQuota = $event)
15023
+ }, unref(fields).showLeaveQuota), {
15024
+ input: withCtx(() => [
15025
+ createVNode(unref(NeonCheck), {
15026
+ modelValue: unref(values).showLeaveQuota,
15027
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(values).showLeaveQuota = $event),
15028
+ label: "Tampilkan",
15029
+ class: "mt-2"
15030
+ }, null, 8, ["modelValue"])
15031
+ ]),
15032
+ _: 1
15033
+ /* STABLE */
15034
+ }, 16, ["modelValue"]),
15035
+ createVNode(unref(NeonField), mergeProps({
15036
+ modelValue: unref(values).showAttendanceType,
15037
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => unref(values).showAttendanceType = $event)
15038
+ }, unref(fields).showAttendanceType), {
15039
+ input: withCtx(() => [
15040
+ createVNode(unref(NeonCheck), {
15041
+ modelValue: unref(values).showAttendanceType,
15042
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(values).showAttendanceType = $event),
15043
+ label: "Tampilkan",
15044
+ class: "mt-2"
15045
+ }, null, 8, ["modelValue"])
15046
+ ]),
15047
+ _: 1
15048
+ /* STABLE */
15049
+ }, 16, ["modelValue"]),
15050
+ createVNode(unref(NeonField), mergeProps({
15051
+ modelValue: unref(values).description,
15052
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => unref(values).description = $event)
15053
+ }, unref(fields).description), null, 16, ["modelValue"])
15054
+ ]),
15055
+ _: 1
15056
+ /* STABLE */
15057
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel"])
15058
+ ]),
15059
+ _: 1
15060
+ /* STABLE */
15061
+ })
15062
+ ]),
15063
+ _: 1
15064
+ /* STABLE */
15065
+ }, 8, ["use-url"])
15066
+ ]),
15067
+ _: 1
15068
+ /* STABLE */
15069
+ });
15070
+ };
15071
+ }
15072
+ });
15073
+ const AttendanceTypeSingle = /* @__PURE__ */ _export_sfc$1(_sfc_main$1b, [["__scopeId", "data-v-776e6c14"]]);
14934
15074
  const _withScopeId$3 = (n) => (pushScopeId("data-v-802b3ded"), n = n(), popScopeId(), n);
14935
15075
  const _hoisted_1$s = { id: "view-checkIns" };
14936
15076
  const _hoisted_2$j = { class: "summary" };
@@ -25920,7 +26060,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
25920
26060
  createElementVNode("div", _hoisted_6$1, [
25921
26061
  createVNode(unref(OfficeCollectionQuery), { displays: __props.displays }, {
25922
26062
  default: withCtx(() => [
25923
- unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (openBlock(), createBlock(unref(_sfc_main$1h), { key: 0 })) : createCommentVNode("v-if", true),
26063
+ unref(permit).isAny(["neu:shiftCabang", "neu:admin"]) ? (openBlock(), createBlock(unref(_sfc_main$1j), { key: 0 })) : createCommentVNode("v-if", true),
25924
26064
  createVNode(unref(OfficeCollectionOperation), {
25925
26065
  "is-main": "",
25926
26066
  path: __props.path
@@ -26494,12 +26634,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26494
26634
  const ShiftStaffImport = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__scopeId", "data-v-818a1e6a"]]);
26495
26635
  const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26496
26636
  __proto__: null,
26497
- AttendanceCollection: _sfc_main$1g,
26637
+ AttendanceCollection: _sfc_main$1i,
26498
26638
  AttendanceDelegate,
26499
26639
  AttendanceManager,
26500
26640
  AttendanceSingle,
26501
26641
  AttendanceStaff,
26502
26642
  AttendanceSupervisor,
26643
+ AttendanceTypeCollection: _sfc_main$1c,
26644
+ AttendanceTypeSingle,
26503
26645
  CheckInAccess,
26504
26646
  CheckInCollection: _sfc_main$13,
26505
26647
  CheckInExternal,
@@ -26511,7 +26653,7 @@ const all = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
26511
26653
  CheckInSupervisor,
26512
26654
  NOperasional: operasional_types,
26513
26655
  NeonTime,
26514
- NeutronImportButton: _sfc_main$1h,
26656
+ NeutronImportButton: _sfc_main$1j,
26515
26657
  OfficeSingleSync,
26516
26658
  OperasionalIdentitas,
26517
26659
  PeriodButton,
@@ -26599,6 +26741,9 @@ const config = OfficeInterfaces.define({
26599
26741
  "AttendanceManager",
26600
26742
  "AttendanceSupervisor",
26601
26743
  "AttendanceDelegate",
26744
+ // Attendance Type
26745
+ "AttendanceTypeCollection",
26746
+ "AttendanceTypeSingle",
26602
26747
  // Check In
26603
26748
  "CheckInCollection",
26604
26749
  "CheckInSingle",
@@ -117,6 +117,10 @@
117
117
  display: block
118
118
  }
119
119
 
120
+ .neu-AttendanceType-single[data-v-776e6c14] {
121
+ display: block
122
+ }
123
+
120
124
  #view-checkIns[data-v-802b3ded] {
121
125
 
122
126
  height: 100%
package/build/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": "^3.0.0"
6
6
  },
7
- "version": "1.17.5-beta.1",
7
+ "version": "1.17.8-beta.1",
8
8
  "builder": {
9
9
  "@neon.id/module-builder": "1.8.0",
10
10
  "unbuild": "2.0.0"
package/build/nuxt.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": "^3.0.0"
6
6
  },
7
- "version": "1.17.5-beta.1",
7
+ "version": "1.17.8-beta.1",
8
8
  "builder": {
9
9
  "@neon.id/module-builder": "1.8.0",
10
10
  "unbuild": "2.0.0"
package/build/nuxt.mjs CHANGED
@@ -25,6 +25,9 @@ const config = OfficeInterfaces.define({
25
25
  "AttendanceManager",
26
26
  "AttendanceSupervisor",
27
27
  "AttendanceDelegate",
28
+ // Attendance Type
29
+ "AttendanceTypeCollection",
30
+ "AttendanceTypeSingle",
28
31
  // Check In
29
32
  "CheckInCollection",
30
33
  "CheckInSingle",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neutron.co.id/operasional-interfaces",
3
- "version": "1.17.5-beta.1",
3
+ "version": "1.17.8-beta.1",
4
4
  "description": "Interface library of Neutron Operasional.",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -78,7 +78,7 @@
78
78
  "@neon.id/nuxt": "^1.5.0",
79
79
  "@neon.id/office": "1.46.0",
80
80
  "@neon.id/utils": "^1.51.0",
81
- "@neutron.co.id/operasional-modules": "1.12.15-beta.1",
81
+ "@neutron.co.id/operasional-modules": "1.12.16-beta.1",
82
82
  "@neutron.co.id/personalia-models": "1.13.11-beta.1",
83
83
  "@nuxt/kit": "^3.12.3",
84
84
  "file-saver": "^2.0.5",
@@ -153,7 +153,7 @@
153
153
  "@neon.id/nuxt": "^1.5.0",
154
154
  "@neon.id/office": "1.46.0",
155
155
  "@neon.id/utils": "^1.51.0",
156
- "@neutron.co.id/operasional-modules": "1.12.15-beta.1",
156
+ "@neutron.co.id/operasional-modules": "1.12.16-beta.1",
157
157
  "@neutron.co.id/personalia-models": "1.13.11-beta.1",
158
158
  "@nuxt/kit": "^3.12.3",
159
159
  "file-saver": "^2.0.5",
@@ -164,5 +164,5 @@
164
164
  "publishConfig": {
165
165
  "access": "public"
166
166
  },
167
- "build": 187
167
+ "build": 190
168
168
  }