@fewangsit/wangsvue-gsts 2.0.0-alpha.27 → 2.0.0-alpha.28

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.
Files changed (44) hide show
  1. package/assets/{scanner.worker-DQsz7oT_.js.map → scanner.worker-Bk2e5hSA.js.map} +1 -1
  2. package/badge/Badge.fm.md +32 -0
  3. package/breadcrumb/Breadcrumb.fm.md +23 -0
  4. package/button/Button.fm.md +53 -0
  5. package/buttonbulkaction/ButtonBulkAction-MenuItem.fm.md +18 -0
  6. package/buttonbulkaction/ButtonBulkAction.fm.md +25 -0
  7. package/buttondownload/ButtonDownload.fm.md +22 -0
  8. package/buttonfilter/ButtonFilter.fm.md +19 -0
  9. package/buttonsearch/ButtonSearch.fm.md +19 -0
  10. package/buttonsearchbyscan/ButtonSearchByScan.fm.md +25 -0
  11. package/buttonselecttree/ButtonSelectTree.fm.md +40 -0
  12. package/calendar/Calendar.fm.md +34 -0
  13. package/changelogpage/index.d.ts +1 -1
  14. package/components.fm.md +56 -0
  15. package/datatable/DataTable-MenuItem.fm.md +22 -0
  16. package/datatable/DataTable-TableColumn.fm.md +52 -0
  17. package/datatable/DataTable.fm.md +40 -0
  18. package/datatable/index.d.ts +1 -0
  19. package/dialogconfirm/DialogConfirm.fm.md +29 -0
  20. package/dialogform/DialogForm.fm.md +57 -0
  21. package/dialogselecttree/DialogSelectTree.fm.md +42 -0
  22. package/dropdown/Dropdown.fm.md +34 -0
  23. package/fileupload/FileUpload.fm.md +31 -0
  24. package/icon/index.d.ts +63 -66
  25. package/imagecompressor/ImageCompressor.fm.md +44 -0
  26. package/inputbadge/InputBadge.fm.md +34 -0
  27. package/inputnumber/InputNumber.fm.md +39 -0
  28. package/inputpassword/InputPassword.fm.md +28 -0
  29. package/inputphonenumber/InputPhoneNumber.fm.md +34 -0
  30. package/inputrangenumber/InputRangeNumber.fm.md +31 -0
  31. package/inputtext/InputText.fm.md +34 -0
  32. package/mcp/main.js +1216 -1092
  33. package/mcp/package.json +6 -6
  34. package/multiselect/MultiSelect.fm.md +34 -0
  35. package/package.json +1 -1
  36. package/stats.html +1 -1
  37. package/tabmenu/TabMenu.fm.md +28 -0
  38. package/textarea/TextArea.fm.md +34 -0
  39. package/wangsvue-gsts.es.js +12 -5
  40. package/wangsvue-gsts.es.js.map +1 -1
  41. package/wangsvue-gsts.system.js +57 -57
  42. package/wangsvue-gsts.system.js.map +1 -1
  43. package/mcp/components.json +0 -4776
  44. package/mcp/components.summary.txt +0 -27
@@ -0,0 +1,28 @@
1
+ # TabMenu
2
+ type reference: ./index.d.ts
3
+
4
+ Append a `TabMenu` component when the figma context contains:
5
+
6
+ - A figma component or instance named "Tab Menu" or similar.
7
+
8
+ ## Metadata Shape (Component)
9
+
10
+ Append this component to the `components` array of the returned JSON.
11
+
12
+ ## Metadata Shape (Properties)
13
+
14
+ Append these properties to the `props` object of this component.
15
+
16
+ ### Properties definitions
17
+
18
+ - `menu` (MenuItem[])
19
+ Get each menu item and set them as follows:
20
+ - `label` (string)
21
+ The label of this item.
22
+ - `route` (string)
23
+ Must be empty.
24
+
25
+ - `type` (string)
26
+ - tab if the tab menu contains "Tab" or similar in their name.
27
+ - pill if the tab menu contains "Pill" or similar in their name.
28
+ - Default to tab if you can't determine it.
@@ -0,0 +1,34 @@
1
+ # TextArea
2
+ type reference: ./index.d.ts
3
+
4
+ Append a `TextArea` component when the figma context contains:
5
+
6
+ - A figma component or instance named "Text Area" or similar, consisting of a multi-line text input field optionally paired with a label, required asterisk, and info icon.
7
+
8
+ ## Metadata Shape (Component)
9
+
10
+ Append this component to the `components` array of the returned JSON.
11
+
12
+ ## Metadata Shape (Properties)
13
+
14
+ Append these properties to the `props` object of this component.
15
+
16
+ ### Properties definitions
17
+
18
+ - `label` (string)
19
+ The text of the label displayed above the textarea.
20
+
21
+ - `placeholder` (string | undefined)
22
+ The placeholder text inside the textarea (e.g. "Enter"). When a value is present, the placeholder is replaced with filled text. Omit if no placeholder text is visible.
23
+
24
+ - `mandatory` (boolean | undefined)
25
+ Whether a red asterisk `*` is present next to the label, indicating the field is required. Omit if absent.
26
+
27
+ - `fieldInfo` (string | undefined)
28
+ Whether an info icon (`information-line`) is present next to the label. Omit if absent.
29
+
30
+ - `invalid` (boolean | undefined)
31
+ Whether the textarea shows an error state (red border, red caption text). Omit if the field is not in error state.
32
+
33
+ - `disabled` (boolean | undefined)
34
+ Whether the textarea shows a disabled state (gray background, gray text). Omit if the field is not disabled.
@@ -13756,8 +13756,8 @@ const PS = (t) => {
13756
13756
  t.message
13757
13757
  ))
13758
13758
  return t.message;
13759
- }, NS = `(function(){"use strict";let n=null,t=null,a,c,r="";self.onmessage=s=>{const e=s.data;switch(c=e.companyCode,e.command){case"sync":l(e);break;case"connect":g(e);break;case"scan":S(e);break;case"stopscan":p(e);break}};const d=s=>{let e="established";n&&n.readyState===WebSocket.OPEN?(e="reused",s.onopen(n,e),m(s.timeout)):n=new WebSocket("wss://dev-api.tagsamurai.com/rfid-reader-go/"),n.onopen=()=>{r=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),e="established",n&&s.onopen(n,e),m(s.timeout)},n.onmessage=o=>{s.onmessage(o),m(s.timeout)},n.onerror=o=>{console.error("🚀 ~ Scanner Worker: openConnection ~ error:",o),s.onerror(o),n?.close(),n=null,t&&clearTimeout(t)}},u=()=>{p({userId:a}),a=void 0,n&&n.close(),n=null,t&&clearTimeout(t),console.info("Socket connection has been closed!")},m=(s=0)=>{s&&(t&&clearTimeout(t),t=setTimeout(u,s))},l=({userId:s})=>{a=s,d({onopen:e=>{e.send(JSON.stringify({data:{command:"connect",userId:s,sessionId:r,companyCode:c,source:"app"},event:"reader"}))},onmessage:e=>{postMessage({status:"synced",...JSON.parse(e.data)})},onerror:e=>{postMessage({status:"sync_error",error:e})}})},g=({userId:s})=>{a=s,d({onopen:(e,o)=>{o==="established"?e.send(JSON.stringify({data:{command:"connect",userId:s,source:"app",sessionId:r,companyCode:c},event:"reader"})):postMessage({status:"connection_reused"})},onmessage:e=>{postMessage({status:"connection_established",...JSON.parse(e.data)})},onerror:e=>{postMessage({status:"error_connecting",error:e})}})},S=({scanCommand:s,userId:e,serialNumber:o,jenisDevice:f})=>{a=e,d({onopen:i=>{i.send(JSON.stringify({data:{command:s,userId:e,sessionId:r,companyCode:c,source:"app",serialNumber:o,jenisDevice:f},event:"reader"})),postMessage({status:"scan_started"})},onmessage:i=>{postMessage({status:"scanned",...JSON.parse(i.data)})},onerror:i=>{postMessage({status:"scan_error",error:i})}})},p=({userId:s})=>{n&&n.readyState===WebSocket.OPEN&&(n.send(JSON.stringify({data:{command:"stopscan",userId:s,source:"app",sessionId:r,companyCode:c},event:"reader"})),postMessage({status:"scan_stopped"}),console.info("Scan Process Stopped!"))}})();
13760
- //# sourceMappingURL=scanner.worker-DQsz7oT_.js.map
13759
+ }, NS = `(function(){"use strict";let n=null,t=null,a,c,r="";self.onmessage=s=>{const e=s.data;switch(c=e.companyCode,e.command){case"sync":u(e);break;case"connect":g(e);break;case"scan":S(e);break;case"stopscan":m(e);break}};const d=s=>{let e="established";n&&n.readyState===WebSocket.OPEN?(e="reused",s.onopen(n,e),p(s.timeout)):n=new WebSocket("https://dev-api.tagsamurai.local/ws"),n.onopen=()=>{r=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15),e="established",n&&s.onopen(n,e),p(s.timeout)},n.onmessage=o=>{s.onmessage(o),p(s.timeout)},n.onerror=o=>{console.error("🚀 ~ Scanner Worker: openConnection ~ error:",o),s.onerror(o),n?.close(),n=null,t&&clearTimeout(t)}},l=()=>{m({userId:a}),a=void 0,n&&n.close(),n=null,t&&clearTimeout(t),console.info("Socket connection has been closed!")},p=(s=0)=>{s&&(t&&clearTimeout(t),t=setTimeout(l,s))},u=({userId:s})=>{a=s,d({onopen:e=>{e.send(JSON.stringify({data:{command:"connect",userId:s,sessionId:r,companyCode:c,source:"app"},event:"reader"}))},onmessage:e=>{postMessage({status:"synced",...JSON.parse(e.data)})},onerror:e=>{postMessage({status:"sync_error",error:e})}})},g=({userId:s})=>{a=s,d({onopen:(e,o)=>{o==="established"?e.send(JSON.stringify({data:{command:"connect",userId:s,source:"app",sessionId:r,companyCode:c},event:"reader"})):postMessage({status:"connection_reused"})},onmessage:e=>{postMessage({status:"connection_established",...JSON.parse(e.data)})},onerror:e=>{postMessage({status:"error_connecting",error:e})}})},S=({scanCommand:s,userId:e,serialNumber:o,jenisDevice:f})=>{a=e,d({onopen:i=>{i.send(JSON.stringify({data:{command:s,userId:e,sessionId:r,companyCode:c,source:"app",serialNumber:o,jenisDevice:f},event:"reader"})),postMessage({status:"scan_started"})},onmessage:i=>{postMessage({status:"scanned",...JSON.parse(i.data)})},onerror:i=>{postMessage({status:"scan_error",error:i})}})},m=({userId:s})=>{n&&n.readyState===WebSocket.OPEN&&(n.send(JSON.stringify({data:{command:"stopscan",userId:s,source:"app",sessionId:r,companyCode:c},event:"reader"})),postMessage({status:"scan_stopped"}),console.info("Scan Process Stopped!"))}})();
13760
+ //# sourceMappingURL=scanner.worker-Bk2e5hSA.js.map
13761
13761
  `, B1 = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", NS], { type: "text/javascript;charset=utf-8" });
13762
13762
  function BS(t) {
13763
13763
  let e;
@@ -58892,10 +58892,17 @@ const cne = /* @__PURE__ */ Oe({
58892
58892
  value: {}
58893
58893
  },
58894
58894
  setup(t) {
58895
- const e = t;
58896
- return (n, i) => O(xO)(e.value) ? (m(), E("span", vie, ie(O(_u)(new Date(e.value), { showTime: !0 })), 1)) : (m(), M(gie, {
58895
+ const e = t, n = Y(() => {
58896
+ try {
58897
+ const i = JSON.parse(e.value);
58898
+ return i && i.dataType === "Date" && i.value ? i.value : e.value;
58899
+ } catch {
58900
+ return e.value;
58901
+ }
58902
+ });
58903
+ return (i, r) => O(xO)(n.value) ? (m(), E("span", vie, ie(O(_u)(new Date(n.value), { showTime: !1 })), 1)) : (m(), M(gie, {
58897
58904
  key: 1,
58898
- "full-text": e.value
58905
+ "full-text": n.value
58899
58906
  }, null, 8, ["full-text"]));
58900
58907
  }
58901
58908
  }), B3 = (t) => {