@neutron.co.id/operasional-interfaces 1.4.3 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.cjs CHANGED
@@ -19,9 +19,9 @@ const pinia = require("pinia");
19
19
  const vueRouter = require("vue-router");
20
20
  const component = require("@neon.id/utils/component");
21
21
  const personaliaModels = require("@neutron.co.id/personalia-models");
22
- const _hoisted_1$a = { class: "xxx-button" };
22
+ const _hoisted_1$b = { class: "xxx-button" };
23
23
  const __default__$9 = vue.defineComponent({ name: "XxxButton" });
24
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
24
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
25
25
  ...__default__$9,
26
26
  props: {
27
27
  color: {
@@ -31,7 +31,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
31
31
  },
32
32
  setup(__props) {
33
33
  return (_ctx, _cache) => {
34
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
34
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
35
35
  vue.createVNode(vue.unref(interfaces.NeonButton), { label: "XXX" })
36
36
  ]);
37
37
  };
@@ -5109,13 +5109,13 @@ function cleanEscapedString(input) {
5109
5109
  function startOfToday() {
5110
5110
  return startOfDay(Date.now());
5111
5111
  }
5112
- const _hoisted_1$9 = { class: "operasional-identitas" };
5113
- const _hoisted_2$5 = {
5112
+ const _hoisted_1$a = { class: "operasional-identitas" };
5113
+ const _hoisted_2$6 = {
5114
5114
  key: 2,
5115
5115
  class: "section"
5116
5116
  };
5117
5117
  const __default__$8 = vue.defineComponent({ name: "OperasionalIdentitas" });
5118
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5118
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
5119
5119
  ...__default__$8,
5120
5120
  props: {
5121
5121
  profile: {
@@ -5369,7 +5369,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5369
5369
  candidateId.value = null;
5370
5370
  }
5371
5371
  return (_ctx, _cache) => {
5372
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
5372
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
5373
5373
  state.value === "connect" ? (vue.openBlock(), vue.createBlock(vue.unref(identitasInterfaces.IdentitasConnect), {
5374
5374
  key: 0,
5375
5375
  user: vue.unref(user),
@@ -5421,7 +5421,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5421
5421
  _: 1
5422
5422
  /* STABLE */
5423
5423
  }, 8, ["initial-values", "is-loading", "errors"])) : vue.createCommentVNode("v-if", true),
5424
- vue.unref(user) && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$5, [
5424
+ vue.unref(user) && onDelegate ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$6, [
5425
5425
  vue.createVNode(vue.unref(interfaces.NeonDivider), {
5426
5426
  "is-dashed": "",
5427
5427
  label: "Delegasi",
@@ -5470,7 +5470,7 @@ const _export_sfc = (sfc, props) => {
5470
5470
  }
5471
5471
  return target;
5472
5472
  };
5473
- const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-780f9c83"]]);
5473
+ const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-780f9c83"]]);
5474
5474
  const CheckInModel = tempatModels.models.CheckInModel;
5475
5475
  const useOperasionalStore = pinia.defineStore("neu:operasional", () => {
5476
5476
  const isLoading = vue.ref(false);
@@ -5612,8 +5612,8 @@ function mitt(n) {
5612
5612
  }
5613
5613
  const bus = mitt();
5614
5614
  const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-89ba2448"), n = n(), vue.popScopeId(), n);
5615
- const _hoisted_1$8 = { id: "view-checkIns" };
5616
- const _hoisted_2$4 = { class: "summary" };
5615
+ const _hoisted_1$9 = { id: "view-checkIns" };
5616
+ const _hoisted_2$5 = { class: "summary" };
5617
5617
  const _hoisted_3$1 = { class: "wrapper" };
5618
5618
  const _hoisted_4$1 = { class: "header" };
5619
5619
  const _hoisted_5 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode(
@@ -5630,7 +5630,7 @@ const _hoisted_6 = { class: "end" };
5630
5630
  const __default__$7 = vue.defineComponent({
5631
5631
  name: "CheckInPresenceCollection"
5632
5632
  });
5633
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5633
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
5634
5634
  ...__default__$7,
5635
5635
  setup(__props) {
5636
5636
  const collectionBus = core.useEventBus("neu:tempat:checkIn");
@@ -5768,14 +5768,14 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5768
5768
  return (_ctx, _cache) => {
5769
5769
  const _component_CheckInSingleExternalView = vue.resolveComponent("CheckInSingleExternalView");
5770
5770
  const _component_CheckInCollection = vue.resolveComponent("CheckInCollection");
5771
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
5771
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
5772
5772
  vue.createVNode(vue.unref(office.OfficeContent), {
5773
5773
  icon: "barcode-read",
5774
5774
  title: "Presensi",
5775
5775
  "is-expanded": ""
5776
5776
  }, {
5777
5777
  "header-detail": vue.withCtx(() => [
5778
- vue.createElementVNode("div", _hoisted_2$4, [
5778
+ vue.createElementVNode("div", _hoisted_2$5, [
5779
5779
  vue.createVNode(vue.unref(interfaces.NeonSlider), {
5780
5780
  "per-view": 2,
5781
5781
  gap: 16,
@@ -5932,9 +5932,9 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5932
5932
  }
5933
5933
  });
5934
5934
  const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_89ba2448_lang = "";
5935
- const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-89ba2448"]]);
5936
- const _hoisted_1$7 = { class: "grid gap-4 sm:grid-cols-2" };
5937
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5935
+ const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-89ba2448"]]);
5936
+ const _hoisted_1$8 = { class: "grid gap-4 sm:grid-cols-2" };
5937
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
5938
5938
  __name: "CheckInSingle",
5939
5939
  setup(__props) {
5940
5940
  const {
@@ -5992,7 +5992,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
5992
5992
  field: vue.unref(fields).building,
5993
5993
  "is-disabled": ""
5994
5994
  }, null, 8, ["modelValue", "field"]),
5995
- vue.createElementVNode("div", _hoisted_1$7, [
5995
+ vue.createElementVNode("div", _hoisted_1$8, [
5996
5996
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
5997
5997
  modelValue: vue.unref(values).type,
5998
5998
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
@@ -6032,9 +6032,9 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
6032
6032
  }
6033
6033
  });
6034
6034
  const CheckInSingle_vue_vue_type_style_index_0_scoped_2e2803fb_lang = "";
6035
- const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-2e2803fb"]]);
6036
- const _hoisted_1$6 = { class: "grid gap-4 sm:grid-cols-2" };
6037
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6035
+ const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-2e2803fb"]]);
6036
+ const _hoisted_1$7 = { class: "grid gap-4 sm:grid-cols-2" };
6037
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
6038
6038
  __name: "CheckInExternal",
6039
6039
  setup(__props) {
6040
6040
  const {
@@ -6051,11 +6051,17 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6051
6051
  discardChanges,
6052
6052
  getOne
6053
6053
  } = context.useSingle();
6054
+ const route = vueRouter.useRoute();
6055
+ const permit = context.usePermit();
6054
6056
  const { staff } = useOperasional();
6057
+ const isOperasional = vue.computed(() => {
6058
+ var _a;
6059
+ return (_a = route.name) == null ? void 0 : _a.includes("rapor");
6060
+ });
6055
6061
  vue.onMounted(() => {
6056
6062
  var _a, _b, _c;
6057
6063
  console.log("idnya?", id.value);
6058
- if (id.value === "new") {
6064
+ if (id.value === "new" && isOperasional) {
6059
6065
  values.value.staffId = (_a = staff.value) == null ? void 0 : _a.id;
6060
6066
  values.value.staff = {
6061
6067
  id: (_b = staff.value) == null ? void 0 : _b.id,
@@ -6063,6 +6069,8 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6063
6069
  };
6064
6070
  values.value.checkInAt = new Date().toISOString();
6065
6071
  values.value.type = "checkpoint";
6072
+ } else {
6073
+ values.value.checkInAt = new Date().toISOString();
6066
6074
  }
6067
6075
  });
6068
6076
  return (_ctx, _cache) => {
@@ -6092,11 +6100,13 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6092
6100
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(values) ? values.value = $event : null),
6093
6101
  field: vue.unref(fields).building
6094
6102
  }, null, 8, ["modelValue", "field"])) : vue.createCommentVNode("v-if", true),
6095
- vue.createElementVNode("div", _hoisted_1$6, [
6103
+ vue.createElementVNode("div", _hoisted_1$7, [
6096
6104
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
6097
6105
  modelValue: vue.unref(values).type,
6098
6106
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).type = $event)
6099
- }, vue.unref(fields).type, { "is-disabled": "" }), null, 16, ["modelValue"]),
6107
+ }, vue.unref(fields).type, {
6108
+ "is-disabled": !vue.unref(permit).isAny(["neu:cabangOperasional", "neu:admin"])
6109
+ }), null, 16, ["modelValue", "is-disabled"]),
6100
6110
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
6101
6111
  modelValue: vue.unref(values).checkInAt,
6102
6112
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).checkInAt = $event)
@@ -6106,8 +6116,8 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6106
6116
  modelValue: vue.unref(values),
6107
6117
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(values) ? values.value = $event : null),
6108
6118
  field: vue.unref(fields).staff,
6109
- "is-disabled": ""
6110
- }, null, 8, ["modelValue", "field"]),
6119
+ "is-disabled": !vue.unref(permit).isAny(["neu:cabangOperasional", "neu:admin"])
6120
+ }, null, 8, ["modelValue", "field", "is-disabled"]),
6111
6121
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
6112
6122
  modelValue: vue.unref(values).note,
6113
6123
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).note = $event)
@@ -6131,17 +6141,17 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6131
6141
  };
6132
6142
  }
6133
6143
  });
6134
- const CheckInExternal_vue_vue_type_style_index_0_scoped_3c28699a_lang = "";
6135
- const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-3c28699a"]]);
6144
+ const CheckInExternal_vue_vue_type_style_index_0_scoped_9c4a435e_lang = "";
6145
+ const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-9c4a435e"]]);
6136
6146
  const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-d23b6de5"), n = n(), vue.popScopeId(), n);
6137
- const _hoisted_1$5 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
6147
+ const _hoisted_1$6 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
6138
6148
  "h4",
6139
6149
  { align: "center" },
6140
6150
  "Aktifkan kamera untuk scan QR Code",
6141
6151
  -1
6142
6152
  /* HOISTED */
6143
6153
  ));
6144
- const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
6154
+ const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode(
6145
6155
  "p",
6146
6156
  { align: "center" },
6147
6157
  [
@@ -6152,7 +6162,7 @@ const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.cr
6152
6162
  -1
6153
6163
  /* HOISTED */
6154
6164
  ));
6155
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6165
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
6156
6166
  __name: "CheckInAccess",
6157
6167
  emits: ["close"],
6158
6168
  setup(__props) {
@@ -6177,8 +6187,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6177
6187
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
6178
6188
  }, {
6179
6189
  default: vue.withCtx(() => [
6180
- _hoisted_1$5,
6181
- _hoisted_2$3,
6190
+ _hoisted_1$6,
6191
+ _hoisted_2$4,
6182
6192
  vue.createVNode(vue.unref(interfaces.NeonButton), {
6183
6193
  "is-full": "",
6184
6194
  size: "md",
@@ -6205,9 +6215,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6205
6215
  }
6206
6216
  });
6207
6217
  const CheckInAccess_vue_vue_type_style_index_0_scoped_d23b6de5_lang = "";
6208
- const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-d23b6de5"]]);
6209
- const _hoisted_1$4 = { class: "buttons" };
6210
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
6218
+ const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-d23b6de5"]]);
6219
+ const _hoisted_1$5 = { class: "buttons" };
6220
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6211
6221
  __name: "CheckInScanError",
6212
6222
  setup(__props) {
6213
6223
  const attendanceStore = useAttendanceStore();
@@ -6220,7 +6230,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
6220
6230
  default: vue.withCtx(() => [
6221
6231
  vue.createVNode(vue.unref(interfaces.NeonSheet), null, {
6222
6232
  footer: vue.withCtx(() => [
6223
- vue.createElementVNode("div", _hoisted_1$4, [
6233
+ vue.createElementVNode("div", _hoisted_1$5, [
6224
6234
  vue.createVNode(vue.unref(interfaces.NeonButton), {
6225
6235
  "is-full": "",
6226
6236
  "is-rounded": "",
@@ -6672,14 +6682,14 @@ e2._disableBarcodeDetector = false;
6672
6682
  e2._workerMessageId = 0;
6673
6683
  const Scanner = e2;
6674
6684
  const _withScopeId = (n) => (vue.pushScopeId("data-v-ef426ef3"), n = n(), vue.popScopeId(), n);
6675
- const _hoisted_1$3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
6685
+ const _hoisted_1$4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
6676
6686
  "div",
6677
6687
  { class: "invalid-message" },
6678
6688
  "Invalid Code!",
6679
6689
  -1
6680
6690
  /* HOISTED */
6681
6691
  ));
6682
- const _hoisted_2$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
6692
+ const _hoisted_2$3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
6683
6693
  "div",
6684
6694
  null,
6685
6695
  null,
@@ -6688,7 +6698,7 @@ const _hoisted_2$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.crea
6688
6698
  ));
6689
6699
  const _hoisted_3 = ["onClick"];
6690
6700
  const _hoisted_4 = { class: "mr-2 text-sm" };
6691
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6701
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
6692
6702
  __name: "CheckInScanner",
6693
6703
  emits: ["start", "stop", "scanned", "close"],
6694
6704
  setup(__props, { emit }) {
@@ -6833,8 +6843,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6833
6843
  class: "inner",
6834
6844
  onClick: switchCamera
6835
6845
  }, [
6836
- _hoisted_1$3,
6837
- _hoisted_2$2,
6846
+ _hoisted_1$4,
6847
+ _hoisted_2$3,
6838
6848
  vue.createElementVNode("div", {
6839
6849
  class: "button-switch",
6840
6850
  onClick: vue.withModifiers(switchCamera, ["stop"])
@@ -6870,15 +6880,15 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6870
6880
  }
6871
6881
  });
6872
6882
  const CheckInScanner_vue_vue_type_style_index_0_scoped_ef426ef3_lang = "";
6873
- const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-ef426ef3"]]);
6874
- const _hoisted_1$2 = /* @__PURE__ */ vue.createElementVNode(
6883
+ const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-ef426ef3"]]);
6884
+ const _hoisted_1$3 = /* @__PURE__ */ vue.createElementVNode(
6875
6885
  "h3",
6876
6886
  { align: "center" },
6877
6887
  "Presensi Berhasil!",
6878
6888
  -1
6879
6889
  /* HOISTED */
6880
6890
  );
6881
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6891
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6882
6892
  __name: "CheckInScanSuccess",
6883
6893
  emits: ["close"],
6884
6894
  setup(__props) {
@@ -6898,7 +6908,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6898
6908
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
6899
6909
  }, {
6900
6910
  default: vue.withCtx(() => [
6901
- _hoisted_1$2
6911
+ _hoisted_1$3
6902
6912
  ]),
6903
6913
  _: 1
6904
6914
  /* STABLE */
@@ -6913,7 +6923,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6913
6923
  const __default__$6 = vue.defineComponent({
6914
6924
  name: "CheckInCollection"
6915
6925
  });
6916
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6926
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6917
6927
  ...__default__$6,
6918
6928
  setup(__props) {
6919
6929
  context.useCollection();
@@ -6932,7 +6942,7 @@ const StaffModel = personaliaModels.models.StaffModel;
6932
6942
  const __default__$5 = vue.defineComponent({
6933
6943
  name: "StaffCollection"
6934
6944
  });
6935
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6945
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6936
6946
  ...__default__$5,
6937
6947
  setup(__props) {
6938
6948
  context.useCollection();
@@ -6947,9 +6957,9 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6947
6957
  };
6948
6958
  }
6949
6959
  });
6950
- const _hoisted_1$1 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
6951
- const _hoisted_2$1 = { class: "grid gap-4 sm:grid-cols-2" };
6952
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6960
+ const _hoisted_1$2 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
6961
+ const _hoisted_2$2 = { class: "grid gap-4 sm:grid-cols-2" };
6962
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6953
6963
  __name: "StaffSingle",
6954
6964
  setup(__props) {
6955
6965
  const {
@@ -6986,7 +6996,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6986
6996
  onSubmit: vue.unref(saveOne)
6987
6997
  }, {
6988
6998
  default: vue.withCtx(() => [
6989
- vue.createElementVNode("div", _hoisted_1$1, [
6999
+ vue.createElementVNode("div", _hoisted_1$2, [
6990
7000
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
6991
7001
  modelValue: vue.unref(values).name,
6992
7002
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
@@ -6996,7 +7006,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
6996
7006
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
6997
7007
  }, vue.unref(fields).nik), null, 16, ["modelValue"])
6998
7008
  ]),
6999
- vue.createElementVNode("div", _hoisted_2$1, [
7009
+ vue.createElementVNode("div", _hoisted_2$2, [
7000
7010
  vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7001
7011
  modelValue: vue.unref(values).birthPlace,
7002
7012
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
@@ -7108,7 +7118,168 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7108
7118
  }
7109
7119
  });
7110
7120
  const StaffSingle_vue_vue_type_style_index_0_scoped_a6f4ca9c_lang = "";
7111
- const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-a6f4ca9c"]]);
7121
+ const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-a6f4ca9c"]]);
7122
+ const _hoisted_1$1 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
7123
+ const _hoisted_2$1 = { class: "grid gap-4 sm:grid-cols-2" };
7124
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7125
+ __name: "StaffOperasional",
7126
+ setup(__props) {
7127
+ const {
7128
+ fields,
7129
+ id,
7130
+ initialValues,
7131
+ values,
7132
+ isLoading,
7133
+ isChanged,
7134
+ isReady,
7135
+ isMain,
7136
+ isNew,
7137
+ saveOne,
7138
+ discardChanges
7139
+ } = context.useSingle();
7140
+ return (_ctx, _cache) => {
7141
+ return vue.openBlock(), vue.createBlock(vue.unref(context.NeonSingle), { class: "neu-staff-single" }, {
7142
+ default: vue.withCtx(() => [
7143
+ vue.createVNode(vue.unref(office.OfficeTabs), { "use-url": vue.unref(isMain) }, {
7144
+ default: vue.withCtx(() => [
7145
+ vue.createVNode(vue.unref(office.OfficeTab), {
7146
+ handle: "info",
7147
+ icon: "circle-info",
7148
+ title: "Info"
7149
+ }, {
7150
+ default: vue.withCtx(() => [
7151
+ vue.createVNode(vue.unref(form.NeonForm), {
7152
+ handle: "info",
7153
+ "initial-values": vue.unref(initialValues),
7154
+ "is-loading": vue.unref(isLoading),
7155
+ "is-changed": vue.unref(isChanged),
7156
+ "use-unsaved": "",
7157
+ onCancel: vue.unref(discardChanges),
7158
+ onSubmit: vue.unref(saveOne)
7159
+ }, {
7160
+ default: vue.withCtx(() => [
7161
+ vue.createElementVNode("div", _hoisted_1$1, [
7162
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7163
+ modelValue: vue.unref(values).name,
7164
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(values).name = $event)
7165
+ }, vue.unref(fields).name), null, 16, ["modelValue"]),
7166
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7167
+ modelValue: vue.unref(values).nik,
7168
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(values).nik = $event)
7169
+ }, vue.unref(fields).nik), null, 16, ["modelValue"])
7170
+ ]),
7171
+ vue.createElementVNode("div", _hoisted_2$1, [
7172
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7173
+ modelValue: vue.unref(values).birthPlace,
7174
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(values).birthPlace = $event)
7175
+ }, vue.unref(fields).birthPlace), null, 16, ["modelValue"]),
7176
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7177
+ modelValue: vue.unref(values).birthDate,
7178
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(values).birthDate = $event)
7179
+ }, vue.unref(fields).birthDate), null, 16, ["modelValue"])
7180
+ ]),
7181
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7182
+ modelValue: vue.unref(values).image,
7183
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(values).image = $event)
7184
+ }, vue.unref(fields).image), null, 16, ["modelValue"]),
7185
+ vue.createVNode(vue.unref(form.NeonField), vue.mergeProps({
7186
+ modelValue: vue.unref(values).note,
7187
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(values).note = $event)
7188
+ }, vue.unref(fields).note), null, 16, ["modelValue"])
7189
+ ]),
7190
+ _: 1
7191
+ /* STABLE */
7192
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
7193
+ ]),
7194
+ _: 1
7195
+ /* STABLE */
7196
+ }),
7197
+ vue.createCommentVNode(" IDENTITAS "),
7198
+ vue.createVNode(vue.unref(office.OfficeTab), {
7199
+ handle: "identity",
7200
+ icon: "key",
7201
+ title: "Identitas"
7202
+ }, {
7203
+ default: vue.withCtx(() => [
7204
+ vue.createVNode(vue.unref(_sfc_main$a))
7205
+ ]),
7206
+ _: 1
7207
+ /* STABLE */
7208
+ }),
7209
+ vue.createCommentVNode(" CABANG "),
7210
+ vue.createVNode(vue.unref(office.OfficeTab), {
7211
+ handle: "branch",
7212
+ icon: "circle-info",
7213
+ title: "Cabang"
7214
+ }, {
7215
+ default: vue.withCtx(() => [
7216
+ vue.createVNode(vue.unref(form.NeonForm), {
7217
+ handle: "branch",
7218
+ "initial-values": vue.unref(initialValues),
7219
+ "is-loading": vue.unref(isLoading),
7220
+ "is-changed": vue.unref(isChanged),
7221
+ "use-unsaved": "",
7222
+ onCancel: vue.unref(discardChanges),
7223
+ onSubmit: vue.unref(saveOne)
7224
+ }, {
7225
+ default: vue.withCtx(() => [
7226
+ vue.createVNode(vue.unref(office.OfficeRelation), {
7227
+ modelValue: vue.unref(values),
7228
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(values) ? values.value = $event : null),
7229
+ field: vue.unref(fields).branch,
7230
+ fragment: { id: 1, display: 1, name: 1 }
7231
+ }, null, 8, ["modelValue", "field"]),
7232
+ vue.createVNode(vue.unref(office.OfficeRelation), {
7233
+ modelValue: vue.unref(values),
7234
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.isRef(values) ? values.value = $event : null),
7235
+ field: vue.unref(fields).branches,
7236
+ fragment: { id: 1, display: 1, name: 1 }
7237
+ }, null, 8, ["modelValue", "field"])
7238
+ ]),
7239
+ _: 1
7240
+ /* STABLE */
7241
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
7242
+ ]),
7243
+ _: 1
7244
+ /* STABLE */
7245
+ }),
7246
+ vue.createCommentVNode(" KELUAR MASUK "),
7247
+ vue.createVNode(vue.unref(office.OfficeTab), {
7248
+ handle: "checkIn",
7249
+ icon: "fingerprint",
7250
+ title: "Presensi"
7251
+ }, {
7252
+ default: vue.withCtx(() => [
7253
+ vue.createVNode(vue.unref(office.OfficeCollectionRelated), {
7254
+ definition: "neu:tempat:checkIn",
7255
+ title: "Presensi",
7256
+ description: "Presensi.",
7257
+ excludes: ["create"],
7258
+ query: vue.unref(query.Query).define({
7259
+ filter: {
7260
+ handle: "staffId",
7261
+ operator: "eq",
7262
+ value: vue.unref(id)
7263
+ }
7264
+ })
7265
+ }, null, 8, ["query"])
7266
+ ]),
7267
+ _: 1
7268
+ /* STABLE */
7269
+ })
7270
+ ]),
7271
+ _: 1
7272
+ /* STABLE */
7273
+ }, 8, ["use-url"])
7274
+ ]),
7275
+ _: 1
7276
+ /* STABLE */
7277
+ });
7278
+ };
7279
+ }
7280
+ });
7281
+ const StaffOperasional_vue_vue_type_style_index_0_scoped_c62cf70a_lang = "";
7282
+ const StaffOperasional = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-c62cf70a"]]);
7112
7283
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
7113
7284
  __name: "StaffIdentity",
7114
7285
  setup(__props) {
@@ -8402,12 +8573,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8402
8573
  const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8403
8574
  __proto__: null,
8404
8575
  CheckInAccess,
8405
- CheckInCollection: _sfc_main$d,
8576
+ CheckInCollection: _sfc_main$e,
8406
8577
  CheckInExternal,
8407
8578
  CheckInModel,
8408
8579
  CheckInPresenceCollection,
8409
- CheckInScanError: _sfc_main$g,
8410
- CheckInScanSuccess: _sfc_main$e,
8580
+ CheckInScanError: _sfc_main$h,
8581
+ CheckInScanSuccess: _sfc_main$f,
8411
8582
  CheckInScanner,
8412
8583
  CheckInSingle,
8413
8584
  OperasionalIdentitas,
@@ -8419,16 +8590,17 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
8419
8590
  SituationTypeModel,
8420
8591
  SituationTypeSingle: _sfc_main$4,
8421
8592
  SituationWork: _sfc_main$7,
8422
- StaffCollection: _sfc_main$c,
8593
+ StaffCollection: _sfc_main$d,
8423
8594
  StaffIdentity: _sfc_main$a,
8424
8595
  StaffModel,
8596
+ StaffOperasional,
8425
8597
  StaffSingle,
8426
8598
  TaskCollection: _sfc_main$2,
8427
8599
  TaskModel,
8428
8600
  TaskSingle: _sfc_main$1,
8429
8601
  TaskWork: _sfc_main,
8430
8602
  TaskWorkButton: _sfc_main$3,
8431
- XxxButton: _sfc_main$m
8603
+ XxxButton: _sfc_main$n
8432
8604
  }, Symbol.toStringTag, { value: "Module" }));
8433
8605
  function registerComponents(app) {
8434
8606
  Object.entries(components).forEach(([name, component2]) => {
@@ -8546,12 +8718,12 @@ const qrScannerWorker_min = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object
8546
8718
  createWorker
8547
8719
  }, Symbol.toStringTag, { value: "Module" }));
8548
8720
  exports.CheckInAccess = CheckInAccess;
8549
- exports.CheckInCollection = _sfc_main$d;
8721
+ exports.CheckInCollection = _sfc_main$e;
8550
8722
  exports.CheckInExternal = CheckInExternal;
8551
8723
  exports.CheckInModel = CheckInModel;
8552
8724
  exports.CheckInPresenceCollection = CheckInPresenceCollection;
8553
- exports.CheckInScanError = _sfc_main$g;
8554
- exports.CheckInScanSuccess = _sfc_main$e;
8725
+ exports.CheckInScanError = _sfc_main$h;
8726
+ exports.CheckInScanSuccess = _sfc_main$f;
8555
8727
  exports.CheckInScanner = CheckInScanner;
8556
8728
  exports.CheckInSingle = CheckInSingle;
8557
8729
  exports.NOperasional = operasional_types;
@@ -8566,16 +8738,17 @@ exports.SituationTypeCollection = _sfc_main$5;
8566
8738
  exports.SituationTypeModel = SituationTypeModel;
8567
8739
  exports.SituationTypeSingle = _sfc_main$4;
8568
8740
  exports.SituationWork = _sfc_main$7;
8569
- exports.StaffCollection = _sfc_main$c;
8741
+ exports.StaffCollection = _sfc_main$d;
8570
8742
  exports.StaffIdentity = _sfc_main$a;
8571
8743
  exports.StaffModel = StaffModel;
8744
+ exports.StaffOperasional = StaffOperasional;
8572
8745
  exports.StaffSingle = StaffSingle;
8573
8746
  exports.TaskCollection = _sfc_main$2;
8574
8747
  exports.TaskModel = TaskModel;
8575
8748
  exports.TaskSingle = _sfc_main$1;
8576
8749
  exports.TaskWork = _sfc_main;
8577
8750
  exports.TaskWorkButton = _sfc_main$3;
8578
- exports.XxxButton = _sfc_main$m;
8751
+ exports.XxxButton = _sfc_main$n;
8579
8752
  exports.bus = bus;
8580
8753
  exports.useAttendanceStore = useAttendanceStore;
8581
8754
  exports.useOperasional = useOperasional;
package/build/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ComponentUtil as ComponentUtil$1 } from "@neon.id/utils/client";
2
2
  import { defineComponent, openBlock, createElementBlock, createVNode, unref, onBeforeUnmount, onMounted, getCurrentInstance, inject, reactive, ref, isRef, watchEffect, computed, h, watch, createBlock, withCtx, mergeProps, createCommentVNode, provide, resolveComponent, createElementVNode, createTextVNode, pushScopeId, popScopeId, normalizeClass, withModifiers, toDisplayString, Fragment } from "vue";
3
3
  import { NeonButton, NeonAvatar, NeonDivider, NeonModal, NeonSheet, useToastStore, NeonSlider, NeonSlide, NeonStat, NeonInfo } from "@neon.id/interfaces";
4
- import { GraphUtil, NeonCollectionContext, useSingle, NeonSingle, useCollection, NeonCollection } from "@neon.id/context";
4
+ import { GraphUtil, NeonCollectionContext, useSingle, NeonSingle, usePermit, useCollection, NeonCollection } from "@neon.id/context";
5
5
  import { RowUtil } from "@neon.id/display";
6
6
  import { NeonField, NeonForm, NeonFormWrapper, NeonFields } from "@neon.id/form";
7
7
  import { IdentitasConnect, IdentitasAssistRegistration, IdentitasDelegate, useAuthStore } from "@neon.id/identitas-interfaces";
@@ -12,14 +12,14 @@ import { withRelation, NeonRelationSheet } from "@neon.id/relation";
12
12
  import { CodeUtil } from "@neon.id/utils/code";
13
13
  import { models as models$1 } from "@neutron.co.id/tempat-models";
14
14
  import { useEventBus, useIntervalFn, useThrottleFn } from "@vueuse/core";
15
- import { OfficeContent, OfficeCollectionQuery, OfficeCollectionOperation, OfficeTabs, OfficeTab, OfficeRelation, OfficeCollectionTable } from "@neon.id/office";
15
+ import { OfficeContent, OfficeCollectionQuery, OfficeCollectionOperation, OfficeTabs, OfficeTab, OfficeRelation, OfficeCollectionTable, OfficeCollectionRelated } from "@neon.id/office";
16
16
  import { defineStore, storeToRefs } from "pinia";
17
- import { useRouter } from "vue-router";
17
+ import { useRouter, useRoute } from "vue-router";
18
18
  import { ComponentUtil } from "@neon.id/utils/component";
19
19
  import { models as models$2 } from "@neutron.co.id/personalia-models";
20
- const _hoisted_1$a = { class: "xxx-button" };
20
+ const _hoisted_1$b = { class: "xxx-button" };
21
21
  const __default__$9 = defineComponent({ name: "XxxButton" });
22
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
22
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
23
23
  ...__default__$9,
24
24
  props: {
25
25
  color: {
@@ -29,7 +29,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
29
29
  },
30
30
  setup(__props) {
31
31
  return (_ctx, _cache) => {
32
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
32
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
33
33
  createVNode(unref(NeonButton), { label: "XXX" })
34
34
  ]);
35
35
  };
@@ -5107,13 +5107,13 @@ function cleanEscapedString(input) {
5107
5107
  function startOfToday() {
5108
5108
  return startOfDay(Date.now());
5109
5109
  }
5110
- const _hoisted_1$9 = { class: "operasional-identitas" };
5111
- const _hoisted_2$5 = {
5110
+ const _hoisted_1$a = { class: "operasional-identitas" };
5111
+ const _hoisted_2$6 = {
5112
5112
  key: 2,
5113
5113
  class: "section"
5114
5114
  };
5115
5115
  const __default__$8 = defineComponent({ name: "OperasionalIdentitas" });
5116
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
5116
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
5117
5117
  ...__default__$8,
5118
5118
  props: {
5119
5119
  profile: {
@@ -5367,7 +5367,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
5367
5367
  candidateId.value = null;
5368
5368
  }
5369
5369
  return (_ctx, _cache) => {
5370
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
5370
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
5371
5371
  state.value === "connect" ? (openBlock(), createBlock(unref(IdentitasConnect), {
5372
5372
  key: 0,
5373
5373
  user: unref(user),
@@ -5419,7 +5419,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
5419
5419
  _: 1
5420
5420
  /* STABLE */
5421
5421
  }, 8, ["initial-values", "is-loading", "errors"])) : createCommentVNode("v-if", true),
5422
- unref(user) && onDelegate ? (openBlock(), createElementBlock("div", _hoisted_2$5, [
5422
+ unref(user) && onDelegate ? (openBlock(), createElementBlock("div", _hoisted_2$6, [
5423
5423
  createVNode(unref(NeonDivider), {
5424
5424
  "is-dashed": "",
5425
5425
  label: "Delegasi",
@@ -5468,7 +5468,7 @@ const _export_sfc = (sfc, props) => {
5468
5468
  }
5469
5469
  return target;
5470
5470
  };
5471
- const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-780f9c83"]]);
5471
+ const OperasionalIdentitas = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-780f9c83"]]);
5472
5472
  const CheckInModel = models$1.CheckInModel;
5473
5473
  const useOperasionalStore = defineStore("neu:operasional", () => {
5474
5474
  const isLoading = ref(false);
@@ -5610,8 +5610,8 @@ function mitt(n) {
5610
5610
  }
5611
5611
  const bus = mitt();
5612
5612
  const _withScopeId$2 = (n) => (pushScopeId("data-v-89ba2448"), n = n(), popScopeId(), n);
5613
- const _hoisted_1$8 = { id: "view-checkIns" };
5614
- const _hoisted_2$4 = { class: "summary" };
5613
+ const _hoisted_1$9 = { id: "view-checkIns" };
5614
+ const _hoisted_2$5 = { class: "summary" };
5615
5615
  const _hoisted_3$1 = { class: "wrapper" };
5616
5616
  const _hoisted_4$1 = { class: "header" };
5617
5617
  const _hoisted_5 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ createElementVNode(
@@ -5628,7 +5628,7 @@ const _hoisted_6 = { class: "end" };
5628
5628
  const __default__$7 = defineComponent({
5629
5629
  name: "CheckInPresenceCollection"
5630
5630
  });
5631
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
5631
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
5632
5632
  ...__default__$7,
5633
5633
  setup(__props) {
5634
5634
  const collectionBus = useEventBus("neu:tempat:checkIn");
@@ -5766,14 +5766,14 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
5766
5766
  return (_ctx, _cache) => {
5767
5767
  const _component_CheckInSingleExternalView = resolveComponent("CheckInSingleExternalView");
5768
5768
  const _component_CheckInCollection = resolveComponent("CheckInCollection");
5769
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
5769
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
5770
5770
  createVNode(unref(OfficeContent), {
5771
5771
  icon: "barcode-read",
5772
5772
  title: "Presensi",
5773
5773
  "is-expanded": ""
5774
5774
  }, {
5775
5775
  "header-detail": withCtx(() => [
5776
- createElementVNode("div", _hoisted_2$4, [
5776
+ createElementVNode("div", _hoisted_2$5, [
5777
5777
  createVNode(unref(NeonSlider), {
5778
5778
  "per-view": 2,
5779
5779
  gap: 16,
@@ -5930,9 +5930,9 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
5930
5930
  }
5931
5931
  });
5932
5932
  const CheckInPresenceCollection_vue_vue_type_style_index_0_scoped_89ba2448_lang = "";
5933
- const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-89ba2448"]]);
5934
- const _hoisted_1$7 = { class: "grid gap-4 sm:grid-cols-2" };
5935
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
5933
+ const CheckInPresenceCollection = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-89ba2448"]]);
5934
+ const _hoisted_1$8 = { class: "grid gap-4 sm:grid-cols-2" };
5935
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
5936
5936
  __name: "CheckInSingle",
5937
5937
  setup(__props) {
5938
5938
  const {
@@ -5990,7 +5990,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
5990
5990
  field: unref(fields).building,
5991
5991
  "is-disabled": ""
5992
5992
  }, null, 8, ["modelValue", "field"]),
5993
- createElementVNode("div", _hoisted_1$7, [
5993
+ createElementVNode("div", _hoisted_1$8, [
5994
5994
  createVNode(unref(NeonField), mergeProps({
5995
5995
  modelValue: unref(values).type,
5996
5996
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(values).type = $event)
@@ -6030,9 +6030,9 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6030
6030
  }
6031
6031
  });
6032
6032
  const CheckInSingle_vue_vue_type_style_index_0_scoped_2e2803fb_lang = "";
6033
- const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-2e2803fb"]]);
6034
- const _hoisted_1$6 = { class: "grid gap-4 sm:grid-cols-2" };
6035
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
6033
+ const CheckInSingle = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-2e2803fb"]]);
6034
+ const _hoisted_1$7 = { class: "grid gap-4 sm:grid-cols-2" };
6035
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
6036
6036
  __name: "CheckInExternal",
6037
6037
  setup(__props) {
6038
6038
  const {
@@ -6049,11 +6049,17 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6049
6049
  discardChanges,
6050
6050
  getOne
6051
6051
  } = useSingle();
6052
+ const route = useRoute();
6053
+ const permit = usePermit();
6052
6054
  const { staff } = useOperasional();
6055
+ const isOperasional = computed(() => {
6056
+ var _a;
6057
+ return (_a = route.name) == null ? void 0 : _a.includes("rapor");
6058
+ });
6053
6059
  onMounted(() => {
6054
6060
  var _a, _b, _c;
6055
6061
  console.log("idnya?", id.value);
6056
- if (id.value === "new") {
6062
+ if (id.value === "new" && isOperasional) {
6057
6063
  values.value.staffId = (_a = staff.value) == null ? void 0 : _a.id;
6058
6064
  values.value.staff = {
6059
6065
  id: (_b = staff.value) == null ? void 0 : _b.id,
@@ -6061,6 +6067,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6061
6067
  };
6062
6068
  values.value.checkInAt = new Date().toISOString();
6063
6069
  values.value.type = "checkpoint";
6070
+ } else {
6071
+ values.value.checkInAt = new Date().toISOString();
6064
6072
  }
6065
6073
  });
6066
6074
  return (_ctx, _cache) => {
@@ -6090,11 +6098,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6090
6098
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(values) ? values.value = $event : null),
6091
6099
  field: unref(fields).building
6092
6100
  }, null, 8, ["modelValue", "field"])) : createCommentVNode("v-if", true),
6093
- createElementVNode("div", _hoisted_1$6, [
6101
+ createElementVNode("div", _hoisted_1$7, [
6094
6102
  createVNode(unref(NeonField), mergeProps({
6095
6103
  modelValue: unref(values).type,
6096
6104
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(values).type = $event)
6097
- }, unref(fields).type, { "is-disabled": "" }), null, 16, ["modelValue"]),
6105
+ }, unref(fields).type, {
6106
+ "is-disabled": !unref(permit).isAny(["neu:cabangOperasional", "neu:admin"])
6107
+ }), null, 16, ["modelValue", "is-disabled"]),
6098
6108
  createVNode(unref(NeonField), mergeProps({
6099
6109
  modelValue: unref(values).checkInAt,
6100
6110
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(values).checkInAt = $event)
@@ -6104,8 +6114,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6104
6114
  modelValue: unref(values),
6105
6115
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(values) ? values.value = $event : null),
6106
6116
  field: unref(fields).staff,
6107
- "is-disabled": ""
6108
- }, null, 8, ["modelValue", "field"]),
6117
+ "is-disabled": !unref(permit).isAny(["neu:cabangOperasional", "neu:admin"])
6118
+ }, null, 8, ["modelValue", "field", "is-disabled"]),
6109
6119
  createVNode(unref(NeonField), mergeProps({
6110
6120
  modelValue: unref(values).note,
6111
6121
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(values).note = $event)
@@ -6129,17 +6139,17 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6129
6139
  };
6130
6140
  }
6131
6141
  });
6132
- const CheckInExternal_vue_vue_type_style_index_0_scoped_3c28699a_lang = "";
6133
- const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-3c28699a"]]);
6142
+ const CheckInExternal_vue_vue_type_style_index_0_scoped_9c4a435e_lang = "";
6143
+ const CheckInExternal = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-9c4a435e"]]);
6134
6144
  const _withScopeId$1 = (n) => (pushScopeId("data-v-d23b6de5"), n = n(), popScopeId(), n);
6135
- const _hoisted_1$5 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode(
6145
+ const _hoisted_1$6 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode(
6136
6146
  "h4",
6137
6147
  { align: "center" },
6138
6148
  "Aktifkan kamera untuk scan QR Code",
6139
6149
  -1
6140
6150
  /* HOISTED */
6141
6151
  ));
6142
- const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode(
6152
+ const _hoisted_2$4 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode(
6143
6153
  "p",
6144
6154
  { align: "center" },
6145
6155
  [
@@ -6150,7 +6160,7 @@ const _hoisted_2$3 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ create
6150
6160
  -1
6151
6161
  /* HOISTED */
6152
6162
  ));
6153
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
6163
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
6154
6164
  __name: "CheckInAccess",
6155
6165
  emits: ["close"],
6156
6166
  setup(__props) {
@@ -6175,8 +6185,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6175
6185
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
6176
6186
  }, {
6177
6187
  default: withCtx(() => [
6178
- _hoisted_1$5,
6179
- _hoisted_2$3,
6188
+ _hoisted_1$6,
6189
+ _hoisted_2$4,
6180
6190
  createVNode(unref(NeonButton), {
6181
6191
  "is-full": "",
6182
6192
  size: "md",
@@ -6203,9 +6213,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6203
6213
  }
6204
6214
  });
6205
6215
  const CheckInAccess_vue_vue_type_style_index_0_scoped_d23b6de5_lang = "";
6206
- const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-d23b6de5"]]);
6207
- const _hoisted_1$4 = { class: "buttons" };
6208
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
6216
+ const CheckInAccess = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-d23b6de5"]]);
6217
+ const _hoisted_1$5 = { class: "buttons" };
6218
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
6209
6219
  __name: "CheckInScanError",
6210
6220
  setup(__props) {
6211
6221
  const attendanceStore = useAttendanceStore();
@@ -6218,7 +6228,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6218
6228
  default: withCtx(() => [
6219
6229
  createVNode(unref(NeonSheet), null, {
6220
6230
  footer: withCtx(() => [
6221
- createElementVNode("div", _hoisted_1$4, [
6231
+ createElementVNode("div", _hoisted_1$5, [
6222
6232
  createVNode(unref(NeonButton), {
6223
6233
  "is-full": "",
6224
6234
  "is-rounded": "",
@@ -6670,14 +6680,14 @@ e2._disableBarcodeDetector = false;
6670
6680
  e2._workerMessageId = 0;
6671
6681
  const Scanner = e2;
6672
6682
  const _withScopeId = (n) => (pushScopeId("data-v-ef426ef3"), n = n(), popScopeId(), n);
6673
- const _hoisted_1$3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
6683
+ const _hoisted_1$4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
6674
6684
  "div",
6675
6685
  { class: "invalid-message" },
6676
6686
  "Invalid Code!",
6677
6687
  -1
6678
6688
  /* HOISTED */
6679
6689
  ));
6680
- const _hoisted_2$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
6690
+ const _hoisted_2$3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode(
6681
6691
  "div",
6682
6692
  null,
6683
6693
  null,
@@ -6686,7 +6696,7 @@ const _hoisted_2$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createEl
6686
6696
  ));
6687
6697
  const _hoisted_3 = ["onClick"];
6688
6698
  const _hoisted_4 = { class: "mr-2 text-sm" };
6689
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
6699
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
6690
6700
  __name: "CheckInScanner",
6691
6701
  emits: ["start", "stop", "scanned", "close"],
6692
6702
  setup(__props, { emit }) {
@@ -6831,8 +6841,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
6831
6841
  class: "inner",
6832
6842
  onClick: switchCamera
6833
6843
  }, [
6834
- _hoisted_1$3,
6835
- _hoisted_2$2,
6844
+ _hoisted_1$4,
6845
+ _hoisted_2$3,
6836
6846
  createElementVNode("div", {
6837
6847
  class: "button-switch",
6838
6848
  onClick: withModifiers(switchCamera, ["stop"])
@@ -6868,15 +6878,15 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
6868
6878
  }
6869
6879
  });
6870
6880
  const CheckInScanner_vue_vue_type_style_index_0_scoped_ef426ef3_lang = "";
6871
- const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-ef426ef3"]]);
6872
- const _hoisted_1$2 = /* @__PURE__ */ createElementVNode(
6881
+ const CheckInScanner = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-ef426ef3"]]);
6882
+ const _hoisted_1$3 = /* @__PURE__ */ createElementVNode(
6873
6883
  "h3",
6874
6884
  { align: "center" },
6875
6885
  "Presensi Berhasil!",
6876
6886
  -1
6877
6887
  /* HOISTED */
6878
6888
  );
6879
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
6889
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
6880
6890
  __name: "CheckInScanSuccess",
6881
6891
  emits: ["close"],
6882
6892
  setup(__props) {
@@ -6896,7 +6906,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6896
6906
  onClose: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("close"))
6897
6907
  }, {
6898
6908
  default: withCtx(() => [
6899
- _hoisted_1$2
6909
+ _hoisted_1$3
6900
6910
  ]),
6901
6911
  _: 1
6902
6912
  /* STABLE */
@@ -6911,7 +6921,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6911
6921
  const __default__$6 = defineComponent({
6912
6922
  name: "CheckInCollection"
6913
6923
  });
6914
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
6924
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
6915
6925
  ...__default__$6,
6916
6926
  setup(__props) {
6917
6927
  useCollection();
@@ -6930,7 +6940,7 @@ const StaffModel = models$2.StaffModel;
6930
6940
  const __default__$5 = defineComponent({
6931
6941
  name: "StaffCollection"
6932
6942
  });
6933
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
6943
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
6934
6944
  ...__default__$5,
6935
6945
  setup(__props) {
6936
6946
  useCollection();
@@ -6945,9 +6955,9 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
6945
6955
  };
6946
6956
  }
6947
6957
  });
6948
- const _hoisted_1$1 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
6949
- const _hoisted_2$1 = { class: "grid gap-4 sm:grid-cols-2" };
6950
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
6958
+ const _hoisted_1$2 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
6959
+ const _hoisted_2$2 = { class: "grid gap-4 sm:grid-cols-2" };
6960
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
6951
6961
  __name: "StaffSingle",
6952
6962
  setup(__props) {
6953
6963
  const {
@@ -6984,7 +6994,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
6984
6994
  onSubmit: unref(saveOne)
6985
6995
  }, {
6986
6996
  default: withCtx(() => [
6987
- createElementVNode("div", _hoisted_1$1, [
6997
+ createElementVNode("div", _hoisted_1$2, [
6988
6998
  createVNode(unref(NeonField), mergeProps({
6989
6999
  modelValue: unref(values).name,
6990
7000
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(values).name = $event)
@@ -6994,7 +7004,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
6994
7004
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(values).nik = $event)
6995
7005
  }, unref(fields).nik), null, 16, ["modelValue"])
6996
7006
  ]),
6997
- createElementVNode("div", _hoisted_2$1, [
7007
+ createElementVNode("div", _hoisted_2$2, [
6998
7008
  createVNode(unref(NeonField), mergeProps({
6999
7009
  modelValue: unref(values).birthPlace,
7000
7010
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(values).birthPlace = $event)
@@ -7106,7 +7116,168 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7106
7116
  }
7107
7117
  });
7108
7118
  const StaffSingle_vue_vue_type_style_index_0_scoped_a6f4ca9c_lang = "";
7109
- const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-a6f4ca9c"]]);
7119
+ const StaffSingle = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-a6f4ca9c"]]);
7120
+ const _hoisted_1$1 = { class: "grid gap-4 sm:grid-cols-[3fr_1fr]" };
7121
+ const _hoisted_2$1 = { class: "grid gap-4 sm:grid-cols-2" };
7122
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
7123
+ __name: "StaffOperasional",
7124
+ setup(__props) {
7125
+ const {
7126
+ fields,
7127
+ id,
7128
+ initialValues,
7129
+ values,
7130
+ isLoading,
7131
+ isChanged,
7132
+ isReady,
7133
+ isMain,
7134
+ isNew,
7135
+ saveOne,
7136
+ discardChanges
7137
+ } = useSingle();
7138
+ return (_ctx, _cache) => {
7139
+ return openBlock(), createBlock(unref(NeonSingle), { class: "neu-staff-single" }, {
7140
+ default: withCtx(() => [
7141
+ createVNode(unref(OfficeTabs), { "use-url": unref(isMain) }, {
7142
+ default: withCtx(() => [
7143
+ createVNode(unref(OfficeTab), {
7144
+ handle: "info",
7145
+ icon: "circle-info",
7146
+ title: "Info"
7147
+ }, {
7148
+ default: withCtx(() => [
7149
+ createVNode(unref(NeonForm), {
7150
+ handle: "info",
7151
+ "initial-values": unref(initialValues),
7152
+ "is-loading": unref(isLoading),
7153
+ "is-changed": unref(isChanged),
7154
+ "use-unsaved": "",
7155
+ onCancel: unref(discardChanges),
7156
+ onSubmit: unref(saveOne)
7157
+ }, {
7158
+ default: withCtx(() => [
7159
+ createElementVNode("div", _hoisted_1$1, [
7160
+ createVNode(unref(NeonField), mergeProps({
7161
+ modelValue: unref(values).name,
7162
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(values).name = $event)
7163
+ }, unref(fields).name), null, 16, ["modelValue"]),
7164
+ createVNode(unref(NeonField), mergeProps({
7165
+ modelValue: unref(values).nik,
7166
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(values).nik = $event)
7167
+ }, unref(fields).nik), null, 16, ["modelValue"])
7168
+ ]),
7169
+ createElementVNode("div", _hoisted_2$1, [
7170
+ createVNode(unref(NeonField), mergeProps({
7171
+ modelValue: unref(values).birthPlace,
7172
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(values).birthPlace = $event)
7173
+ }, unref(fields).birthPlace), null, 16, ["modelValue"]),
7174
+ createVNode(unref(NeonField), mergeProps({
7175
+ modelValue: unref(values).birthDate,
7176
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(values).birthDate = $event)
7177
+ }, unref(fields).birthDate), null, 16, ["modelValue"])
7178
+ ]),
7179
+ createVNode(unref(NeonField), mergeProps({
7180
+ modelValue: unref(values).image,
7181
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(values).image = $event)
7182
+ }, unref(fields).image), null, 16, ["modelValue"]),
7183
+ createVNode(unref(NeonField), mergeProps({
7184
+ modelValue: unref(values).note,
7185
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(values).note = $event)
7186
+ }, unref(fields).note), null, 16, ["modelValue"])
7187
+ ]),
7188
+ _: 1
7189
+ /* STABLE */
7190
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
7191
+ ]),
7192
+ _: 1
7193
+ /* STABLE */
7194
+ }),
7195
+ createCommentVNode(" IDENTITAS "),
7196
+ createVNode(unref(OfficeTab), {
7197
+ handle: "identity",
7198
+ icon: "key",
7199
+ title: "Identitas"
7200
+ }, {
7201
+ default: withCtx(() => [
7202
+ createVNode(unref(_sfc_main$a))
7203
+ ]),
7204
+ _: 1
7205
+ /* STABLE */
7206
+ }),
7207
+ createCommentVNode(" CABANG "),
7208
+ createVNode(unref(OfficeTab), {
7209
+ handle: "branch",
7210
+ icon: "circle-info",
7211
+ title: "Cabang"
7212
+ }, {
7213
+ default: withCtx(() => [
7214
+ createVNode(unref(NeonForm), {
7215
+ handle: "branch",
7216
+ "initial-values": unref(initialValues),
7217
+ "is-loading": unref(isLoading),
7218
+ "is-changed": unref(isChanged),
7219
+ "use-unsaved": "",
7220
+ onCancel: unref(discardChanges),
7221
+ onSubmit: unref(saveOne)
7222
+ }, {
7223
+ default: withCtx(() => [
7224
+ createVNode(unref(OfficeRelation), {
7225
+ modelValue: unref(values),
7226
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => isRef(values) ? values.value = $event : null),
7227
+ field: unref(fields).branch,
7228
+ fragment: { id: 1, display: 1, name: 1 }
7229
+ }, null, 8, ["modelValue", "field"]),
7230
+ createVNode(unref(OfficeRelation), {
7231
+ modelValue: unref(values),
7232
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => isRef(values) ? values.value = $event : null),
7233
+ field: unref(fields).branches,
7234
+ fragment: { id: 1, display: 1, name: 1 }
7235
+ }, null, 8, ["modelValue", "field"])
7236
+ ]),
7237
+ _: 1
7238
+ /* STABLE */
7239
+ }, 8, ["initial-values", "is-loading", "is-changed", "onCancel", "onSubmit"])
7240
+ ]),
7241
+ _: 1
7242
+ /* STABLE */
7243
+ }),
7244
+ createCommentVNode(" KELUAR MASUK "),
7245
+ createVNode(unref(OfficeTab), {
7246
+ handle: "checkIn",
7247
+ icon: "fingerprint",
7248
+ title: "Presensi"
7249
+ }, {
7250
+ default: withCtx(() => [
7251
+ createVNode(unref(OfficeCollectionRelated), {
7252
+ definition: "neu:tempat:checkIn",
7253
+ title: "Presensi",
7254
+ description: "Presensi.",
7255
+ excludes: ["create"],
7256
+ query: unref(Query).define({
7257
+ filter: {
7258
+ handle: "staffId",
7259
+ operator: "eq",
7260
+ value: unref(id)
7261
+ }
7262
+ })
7263
+ }, null, 8, ["query"])
7264
+ ]),
7265
+ _: 1
7266
+ /* STABLE */
7267
+ })
7268
+ ]),
7269
+ _: 1
7270
+ /* STABLE */
7271
+ }, 8, ["use-url"])
7272
+ ]),
7273
+ _: 1
7274
+ /* STABLE */
7275
+ });
7276
+ };
7277
+ }
7278
+ });
7279
+ const StaffOperasional_vue_vue_type_style_index_0_scoped_c62cf70a_lang = "";
7280
+ const StaffOperasional = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-c62cf70a"]]);
7110
7281
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
7111
7282
  __name: "StaffIdentity",
7112
7283
  setup(__props) {
@@ -8400,12 +8571,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8400
8571
  const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8401
8572
  __proto__: null,
8402
8573
  CheckInAccess,
8403
- CheckInCollection: _sfc_main$d,
8574
+ CheckInCollection: _sfc_main$e,
8404
8575
  CheckInExternal,
8405
8576
  CheckInModel,
8406
8577
  CheckInPresenceCollection,
8407
- CheckInScanError: _sfc_main$g,
8408
- CheckInScanSuccess: _sfc_main$e,
8578
+ CheckInScanError: _sfc_main$h,
8579
+ CheckInScanSuccess: _sfc_main$f,
8409
8580
  CheckInScanner,
8410
8581
  CheckInSingle,
8411
8582
  OperasionalIdentitas,
@@ -8417,16 +8588,17 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
8417
8588
  SituationTypeModel,
8418
8589
  SituationTypeSingle: _sfc_main$4,
8419
8590
  SituationWork: _sfc_main$7,
8420
- StaffCollection: _sfc_main$c,
8591
+ StaffCollection: _sfc_main$d,
8421
8592
  StaffIdentity: _sfc_main$a,
8422
8593
  StaffModel,
8594
+ StaffOperasional,
8423
8595
  StaffSingle,
8424
8596
  TaskCollection: _sfc_main$2,
8425
8597
  TaskModel,
8426
8598
  TaskSingle: _sfc_main$1,
8427
8599
  TaskWork: _sfc_main,
8428
8600
  TaskWorkButton: _sfc_main$3,
8429
- XxxButton: _sfc_main$m
8601
+ XxxButton: _sfc_main$n
8430
8602
  }, Symbol.toStringTag, { value: "Module" }));
8431
8603
  function registerComponents(app) {
8432
8604
  Object.entries(components).forEach(([name, component]) => {
@@ -8545,12 +8717,12 @@ const qrScannerWorker_min = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object
8545
8717
  }, Symbol.toStringTag, { value: "Module" }));
8546
8718
  export {
8547
8719
  CheckInAccess,
8548
- _sfc_main$d as CheckInCollection,
8720
+ _sfc_main$e as CheckInCollection,
8549
8721
  CheckInExternal,
8550
8722
  CheckInModel,
8551
8723
  CheckInPresenceCollection,
8552
- _sfc_main$g as CheckInScanError,
8553
- _sfc_main$e as CheckInScanSuccess,
8724
+ _sfc_main$h as CheckInScanError,
8725
+ _sfc_main$f as CheckInScanSuccess,
8554
8726
  CheckInScanner,
8555
8727
  CheckInSingle,
8556
8728
  operasional_types as NOperasional,
@@ -8565,16 +8737,17 @@ export {
8565
8737
  SituationTypeModel,
8566
8738
  _sfc_main$4 as SituationTypeSingle,
8567
8739
  _sfc_main$7 as SituationWork,
8568
- _sfc_main$c as StaffCollection,
8740
+ _sfc_main$d as StaffCollection,
8569
8741
  _sfc_main$a as StaffIdentity,
8570
8742
  StaffModel,
8743
+ StaffOperasional,
8571
8744
  StaffSingle,
8572
8745
  _sfc_main$2 as TaskCollection,
8573
8746
  TaskModel,
8574
8747
  _sfc_main$1 as TaskSingle,
8575
8748
  _sfc_main as TaskWork,
8576
8749
  _sfc_main$3 as TaskWorkButton,
8577
- _sfc_main$m as XxxButton,
8750
+ _sfc_main$n as XxxButton,
8578
8751
  bus,
8579
8752
  useAttendanceStore,
8580
8753
  useOperasional,
package/build/style.css CHANGED
@@ -70,7 +70,7 @@
70
70
  display: block
71
71
  }
72
72
 
73
- .neu-checkIn-single[data-v-3c28699a] {
73
+ .neu-checkIn-single[data-v-9c4a435e] {
74
74
  display: block
75
75
  }
76
76
 
@@ -148,3 +148,7 @@
148
148
  .neu-staff-single[data-v-a6f4ca9c] {
149
149
  display: block
150
150
  }
151
+
152
+ .neu-staff-single[data-v-c62cf70a] {
153
+ display: block
154
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -1,3 +1,4 @@
1
1
  export { default as StaffCollection } from './StaffCollection.vue';
2
2
  export { default as StaffSingle } from './StaffSingle.vue';
3
+ export { default as StaffOperasional } from './StaffOperasional.vue';
3
4
  export { default as StaffIdentity } from './StaffIdentity.vue';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neutron.co.id/operasional-interfaces",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "description": "Interface library of Neutron.",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -136,5 +136,5 @@
136
136
  "publishConfig": {
137
137
  "access": "public"
138
138
  },
139
- "build": 82
139
+ "build": 84
140
140
  }