@orchidui/core 1.88.0 → 1.89.0

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 (113) hide show
  1. package/dist/DataDisplay/AccountVerificationContent/OcAccountVerificationContent.js +1 -1
  2. package/dist/DataDisplay/CustomerCard/OcCustomerCard.js +1 -1
  3. package/dist/DataDisplay/FloatContent/OcFloatContent.js +1 -1
  4. package/dist/DataDisplay/HorizontalProgressbar/OcHorizontalProgressbar.js +1 -1
  5. package/dist/DataDisplay/InfoCard/OcInfoCard.js +1 -1
  6. package/dist/DataDisplay/ListDetail/OcListDetail.js +1 -1
  7. package/dist/DataDisplay/ListItem/OcListItem.js +1 -1
  8. package/dist/DataDisplay/NewTable/OcNewTable.js +1 -1
  9. package/dist/DataDisplay/OnboardingListItem/OcOnboardingListItem.js +1 -1
  10. package/dist/DataDisplay/OnboardingRecap/OcOnboardingRecap.js +1 -1
  11. package/dist/DataDisplay/Overview/OcOverview.js +1 -1
  12. package/dist/DataDisplay/Pagination/OcPagination.js +1 -1
  13. package/dist/DataDisplay/ProgressBar/OcProgressBar.js +1 -1
  14. package/dist/DataDisplay/RowItemData/OcRowItemData.js +1 -1
  15. package/dist/DataDisplay/Table/OcTable.js +1 -1
  16. package/dist/DataDisplay/TransferSummary/OcTransferSummary.js +1 -1
  17. package/dist/Disclosure/Accordion/OcAccordion.js +1 -1
  18. package/dist/Disclosure/OnboardingAccordion/OnboardingAccordion.js +1 -1
  19. package/dist/Disclosure/OnboardingProduct/OnboardingProductOption.js +1 -1
  20. package/dist/Disclosure/Steps/OcSteps.js +1 -1
  21. package/dist/Disclosure/SwitchTabs/OcSwitchTabs.js +1 -1
  22. package/dist/Disclosure/Tabs/Tabs.js +1 -1
  23. package/dist/Disclosure/Variants/OcVariants.js +1 -1
  24. package/dist/Elements/AdditionalContent/OcAdditionalContent.js +1 -1
  25. package/dist/Elements/AuthenticationOption/AuthenticationOption.js +1 -1
  26. package/dist/Elements/Box/OcBox.js +1 -1
  27. package/dist/Elements/Checklist/OcChecklist.js +1 -1
  28. package/dist/Elements/EmptyPage/OcEmptyPage.js +1 -1
  29. package/dist/Elements/FeatureOverviewCard/OcFeatureOverviewCard.js +1 -1
  30. package/dist/Elements/Header/OcHeader.js +1 -1
  31. package/dist/Elements/PageTitle/OcPageTitle.js +1 -1
  32. package/dist/Elements/SandboxBanner/OcSandboxBanner.js +1 -1
  33. package/dist/Elements/Section/OcSection.js +1 -1
  34. package/dist/Elements/Sidebar/OcSidebar.js +2 -2
  35. package/dist/Elements/SubSidebar/OcSubSidebar.js +1 -1
  36. package/dist/Elements/TopBanner/OcTopBanner.js +1 -1
  37. package/dist/Elements/VerificationOption/OcVerificationOption.js +1 -1
  38. package/dist/Feedback/Banner/OcBanner.js +1 -1
  39. package/dist/Feedback/Chip/OcChip.js +1 -1
  40. package/dist/Feedback/ShareIcon/OcShareIcon.js +1 -1
  41. package/dist/Feedback/Snackbar/OcSnackbar.js +1 -1
  42. package/dist/Feedback/Tag/OcTag.js +1 -1
  43. package/dist/Form/BaseInput/OcBaseInput.js +1 -1
  44. package/dist/Form/Button/OcButton.js +1 -1
  45. package/dist/Form/Calendar/OcCalendar.js +1 -1
  46. package/dist/Form/CardInput/OcCardInput.js +1 -1
  47. package/dist/Form/Checkbox/OcCheckbox.js +1 -1
  48. package/dist/Form/CheckboxesGroup/OcCheckboxesGroup.js +1 -1
  49. package/dist/Form/Criteria/OcCriteria.js +1 -1
  50. package/dist/Form/Cropper/OcCropper.js +1 -1
  51. package/dist/Form/DatePicker/OcDatePicker.js +1 -1
  52. package/dist/Form/EmojiPicker/OcEmojiPicker.js +1 -1
  53. package/dist/Form/Input/OcInput.js +1 -1
  54. package/dist/Form/LinkInput/OcLinkInput.js +1 -1
  55. package/dist/Form/MultipleUploadFile/OcMultipleUploadFile.js +1 -1
  56. package/dist/Form/NumberInput/OcNumberInput.js +1 -1
  57. package/dist/Form/PhoneInput/OcPhoneInput.js +1 -1
  58. package/dist/Form/Radio/OcRadio.js +1 -1
  59. package/dist/Form/RadioGroup/OcRadioGroup.js +1 -1
  60. package/dist/Form/RangeInput/OcRangeInput.js +1 -1
  61. package/dist/Form/SectionItem/OcSectionItem.js +1 -1
  62. package/dist/Form/Select/OcSelect.js +1 -1
  63. package/dist/Form/SelectOptions/OcSelectOptions.js +1 -1
  64. package/dist/Form/SingleFileUpload/OcSingleFileUpload.js +1 -1
  65. package/dist/Form/Slider/OcSlider.js +1 -1
  66. package/dist/Form/TextArea/OcTextArea.js +1 -1
  67. package/dist/Form/Toggle/OcToggle.js +1 -1
  68. package/dist/Form/index.js +2 -2
  69. package/dist/FormBuilder/OcFormBuilder.js +1 -1
  70. package/dist/MediaAndIcons/Avatar/OcAvatar.js +1 -1
  71. package/dist/MediaAndIcons/Icon/OcIcon.js +1 -1
  72. package/dist/{OcAccountSetupProgress-CGu2mGjb.js → OcAccountSetupProgress-CDJDBSs6.js} +8 -3
  73. package/dist/{OcAvatar-DA33kM1x.js → OcAvatar-Dh-N5cDF.js} +8 -0
  74. package/dist/{OcComplexCalendar-BLDUMYfD.js → OcComplexCalendar-DxNl3oy0.js} +2 -2
  75. package/dist/{OcComplexDatePicker-DR_rDx_k.js → OcComplexDatePicker-CfbIzVth.js} +1 -1
  76. package/dist/{OcCropper-DWLjgt8P.js → OcCropper-BlLLFt8j.js} +2 -2
  77. package/dist/{OcDataTable-DdYe3d9A.js → OcDataTable-B2sMfiLP.js} +64 -3
  78. package/dist/{OcDraggable-C-RjArcr.js → OcDraggable-5y_FiZHv.js} +3 -0
  79. package/dist/{OcDraggableList-C8ulvqkC.js → OcDraggableList-DKpOx0Xk.js} +15 -3
  80. package/dist/{OcEmojiPicker-PI_T1ZAi.js → OcEmojiPicker-COG4VIHg.js} +1 -1
  81. package/dist/{OcFilterForm-BD4F_p_-.js → OcFilterForm-CHJkM2qG.js} +17 -2
  82. package/dist/{OcFilterSearch-CrI7tLww.js → OcFilterSearch-ve1rwlY4.js} +8 -2
  83. package/dist/{OcFilterSearchFor-ByVyGsvL.js → OcFilterSearchFor-C3rc6Bfq.js} +6 -1
  84. package/dist/{OcHorizontalProgressbar-DapCdBDF.js → OcHorizontalProgressbar-ClgiRxAb.js} +3 -0
  85. package/dist/{OcIcon-BedshzZm.js → OcIcon-DuLjS3TV.js} +4 -0
  86. package/dist/{OcModalCropper-CtDRlDMK.js → OcModalCropper-Ci9lWAus.js} +14 -3
  87. package/dist/{OcPopper-DAh56I2b.js → OcPopper-4s9J9wmd.js} +9 -1
  88. package/dist/{OcProgressBar-lyqE5LZd.js → OcProgressBar-MTSaIZCf.js} +3 -0
  89. package/dist/{OcSection-BjyapRr3.js → OcSection-DaXJy5P1.js} +1 -0
  90. package/dist/{OcSwitchTabs-B7LfmG3z.js → OcSwitchTabs-CmwaBCBs.js} +11 -6
  91. package/dist/{OcTag-CuzgktNM.js → OcTag-H1qaGHcE.js} +5 -0
  92. package/dist/{OcTheme-B6NTNYtz.js → OcTheme-CveJ_GMF.js} +4 -0
  93. package/dist/{OcTimePicker-eeXUndiL.js → OcTimePicker-MEm3ClxD.js} +1 -1
  94. package/dist/{OcTimePopup-CrwbZ_Nx.js → OcTimePopup-D0LECk6H.js} +6 -2
  95. package/dist/{OcToggle-DOfA-DZ8.js → OcToggle-CoI4QOGs.js} +11 -6
  96. package/dist/Overlay/ConfirmationModal/OcConfirmationModal.js +1 -1
  97. package/dist/Overlay/CopyTooltip/OcCopyTooltip.js +1 -1
  98. package/dist/Overlay/Dropdown/OcDropdown.js +1 -1
  99. package/dist/Overlay/Modal/OcModal.js +1 -1
  100. package/dist/Overlay/Popper/OcPopper.js +1 -1
  101. package/dist/Overlay/SupportMenu/OcSupportMenu.js +1 -1
  102. package/dist/Overlay/Tooltip/OcTooltip.js +1 -1
  103. package/dist/Overlay/Whitelist/OcWhiteList.js +1 -1
  104. package/dist/{SubPlanCard-DpgwNokp.js → SubPlanCard-vBcnkFkB.js} +9 -4
  105. package/dist/Theme/OcTheme.js +1 -1
  106. package/dist/{ThumbnailSection-DPgr2Yye.js → ThumbnailSection-faPdDVqG.js} +8 -2
  107. package/dist/{ThumbnailTheme-BD8IIMJS.js → ThumbnailTheme-DNzGlk6r.js} +17 -3
  108. package/dist/composables/helpers.js +4 -45
  109. package/dist/core.css +1 -1
  110. package/dist/{index-CH6HqHCV.js → index-C-LCb1gk.js} +5182 -3925
  111. package/dist/index.js +11 -11
  112. package/package.json +1 -1
  113. package/dist/data/Validator.js +0 -5
@@ -1,8 +1,8 @@
1
1
  import { ref as C, onMounted as Se, createBlock as L, openBlock as o, unref as i, withCtx as p, createVNode as I, createElementVNode as q, createElementBlock as x, createCommentVNode as f, mergeProps as ye, Fragment as ae, renderList as ee, normalizeClass as te, toDisplayString as ge, computed as T, watch as ke, toRaw as Ge, nextTick as Me, renderSlot as E, resolveDynamicComponent as We, createSlots as Xe, normalizeProps as be, guardReactiveProps as he } from "vue";
2
- import { aG as Oe, B as Ve, C as Ye, E as Ze, Q as He, a4 as _e, aR as el, aS as ll, aT as al, K as tl, L as we, j as sl } from "./index-CH6HqHCV.js";
2
+ import { aG as Oe, B as Ve, C as Ye, E as Ze, Q as He, a4 as _e, aR as el, aS as ll, aT as al, K as tl, L as we, j as sl } from "./index-C-LCb1gk.js";
3
3
  import { V as xe } from "./vue-draggable-next.esm-bundler-QQ8zx__3.js";
4
4
  import { getFromLocalStorage as Fe, formatHeadersFromLocalStorage as Ee, formatHeadersToLocalStorage as ol, setInLocalStorage as ul } from "./DataTable/utils/editColumnsUtils.js";
5
- import { _ as $e } from "./OcIcon-BedshzZm.js";
5
+ import { _ as $e } from "./OcIcon-DuLjS3TV.js";
6
6
  import { formatFilterDisplay as il, clearAllFilters as rl } from "./DataTable/utils/filterUtils.js";
7
7
  import { formatCustomItemsPerPageOptions as nl, getItemsPerPageOptions as dl } from "./DataTable/utils/paginationUtils.js";
8
8
  import "./dayjs.min-7xVZzECu.js";
@@ -15,20 +15,30 @@ const vl = { class: "p-5 gap-y-4 text-sm flex w-[250px] flex-col" }, cl = {
15
15
  }, fl = { class: "flex items-center w-full gap-x-3" }, yl = { class: "truncate w-full max-w-[160px]" }, gl = {
16
16
  __name: "ColumnEdit",
17
17
  props: {
18
+ /** Initial active/visible state overrides for columns. Keyed by column key. */
18
19
  options: {
19
20
  type: Object,
20
21
  default: () => ({})
21
22
  },
23
+ /** Full list of column header objects — each with `key`, `label`, and optional `isActive`. */
22
24
  headers: {
23
25
  type: Array,
24
26
  default: () => []
25
27
  },
28
+ /** localStorage key used to persist the column order and visibility across sessions. */
26
29
  localKey: {
27
30
  type: String,
28
31
  default: ""
29
32
  }
30
33
  },
31
- emits: ["change-active", "onMoved", "update-order"],
34
+ emits: {
35
+ /** A column's active state was toggled. Payload: column header object. */
36
+ "change-active": [],
37
+ /** A column was reordered via drag. Payload: move event. */
38
+ onMoved: [],
39
+ /** Column order or visibility changed. Payload: `{ fixedHeaders, activeHeaders, isOnMount }`. */
40
+ "update-order": []
41
+ },
32
42
  setup($, { emit: le }) {
33
43
  const j = le, g = $, c = C([]), S = C([]), O = C(!1), y = {
34
44
  handle: ".drag-el",
@@ -157,49 +167,100 @@ const vl = { class: "p-5 gap-y-4 text-sm flex w-[250px] flex-col" }, cl = {
157
167
  }, Al = {
158
168
  __name: "OcDataTable",
159
169
  props: {
170
+ /** Show skeleton loading rows while data is being fetched. */
160
171
  isLoading: Boolean,
172
+ /**
173
+ * Unique ID for this table instance. Used as a localStorage namespace when columnEdit is enabled.
174
+ */
161
175
  id: {
162
176
  type: String,
163
177
  required: !0
164
178
  },
179
+ /**
180
+ * Full configuration object for the table.
181
+ *
182
+ * `tableOptions` — table structure:
183
+ * - `headers` — array of `{ key, label, variant?, class?, isCopy?, stickyLeft?, stickyRight?, chipOptions?, disableClickRow? }`
184
+ * - `fields` — array of row data objects keyed to header keys
185
+ * - `isSelectable` — show row checkboxes
186
+ * - `isCursorPointer` — cursor:pointer on rows
187
+ * - `isSticky` — horizontal scroll with sticky first column
188
+ * - `isBorderless` — remove outer border
189
+ *
190
+ * `filterOptions` (optional) — filter toolbar config:
191
+ * - `search` — `{ key, options? }` enables search bar
192
+ * - `form` — FormBuilder jsonForm array rendered in the filter dropdown
193
+ * - `tabs` — `{ key, options }` tab bar above the table
194
+ * - `per_page` — `{ key }` controls which filter key holds items-per-page
195
+ * - `columnEdit` — `{ key, localStorageKey }` enables column show/hide editor
196
+ *
197
+ * `pagination` — `{ total, last_page }` for numbered pagination; omit for cursor mode.
198
+ * `cursor` — `{ prev, next }` cursor strings for cursor-based navigation.
199
+ * `perPageOptions` — custom per-page dropdown options.
200
+ * `hidePerPageDropdown` — hide the per-page selector.
201
+ */
165
202
  options: {
166
203
  type: Object,
167
204
  required: !0
168
205
  },
206
+ /**
207
+ * Current filter state object (v-model:filter). Includes page, per_page, search query, tab value, etc.
208
+ * The component emits `update:filter` whenever filters change.
209
+ */
169
210
  filter: {
170
211
  type: Object,
171
212
  default: () => ({})
172
213
  },
214
+ /** Currently selected rows array (v-model:selected). Each item is a row data object from fields. */
173
215
  selected: {
174
216
  type: Array,
175
217
  required: !1
176
218
  },
219
+ /** CSS class or function `(row, index) => string` applied to each data row element. */
177
220
  rowClass: String,
221
+ /**
222
+ * Field name or function used to uniquely identify each row.
223
+ * If a string, `row[rowKey]` is used. If a function, receives the row and returns a key.
224
+ */
178
225
  rowKey: {
179
226
  type: [String, Function],
180
227
  default: "id"
181
228
  },
229
+ /** Field name in each row data object containing the URL to navigate to on row click. */
182
230
  rowLink: String,
231
+ /** Use the new table design (NewTable component) instead of the classic Table. */
183
232
  isNewTable: {
184
233
  type: Boolean,
185
234
  default: !1
186
235
  },
236
+ /** Highlight a specific row by index (0-based). Set -1 to clear. */
187
237
  selectedIndex: {
188
238
  type: Number,
189
239
  default: -1
190
240
  }
191
241
  },
192
242
  emits: {
243
+ /** Selected rows changed. Payload: array of selected row objects (v-model:selected). */
193
244
  "update:selected": [],
245
+ /** Filter state changed. Payload: current filter object (v-model:filter). */
194
246
  "update:filter": [],
247
+ /** Emitted alongside update:filter after every filter action. Payload: current filter object. */
195
248
  "apply-filter": [],
249
+ /** A row cell was clicked. Payload: `{ field, header }`. */
196
250
  "click:row": [],
251
+ /** A filter form field value changed. Payload: `{ form, value }`. */
197
252
  "filter-fields-changed": [],
253
+ /** A filter tag was dismissed. Payload: the removed filter field key. */
198
254
  "filter-removed": [],
255
+ /** Filter dropdown opened or closed. Payload: boolean. */
199
256
  "filter-open": [],
257
+ /** Search query was submitted or cleared. Payload: query string. */
200
258
  "search-query-changed": [],
259
+ /** A table cell was hovered. Payload: `{ item, key }`. */
201
260
  "hover:cell": [],
261
+ /** Column visibility or order changed via the column editor. Payload: active headers array. */
202
262
  "columns-changed": [],
263
+ /** Table has mounted and column order is initialized. */
203
264
  "on-table-ready": []
204
265
  },
205
266
  setup($, { emit: le }) {
@@ -3,10 +3,13 @@ import { V as f } from "./vue-draggable-next.esm-bundler-QQ8zx__3.js";
3
3
  const _ = {
4
4
  __name: "OcDraggable",
5
5
  props: {
6
+ /** v-model — the array of items to make draggable. Updated in-place when items are reordered. */
6
7
  modelValue: Array
7
8
  },
8
9
  emits: {
10
+ /** Item order changed. Payload: `(newList, event)` — the reordered array and the vue-draggable event. */
9
11
  "update:modelValue": [],
12
+ /** An item is being dragged over another position. Used to restrict or allow drops. */
10
13
  detectMove: null
11
14
  },
12
15
  setup(o, { emit: l }) {
@@ -1,36 +1,48 @@
1
1
  import { ref as w, createBlock as y, openBlock as c, unref as l, withCtx as r, createElementBlock as b, Fragment as C, renderList as $, normalizeClass as s, createElementVNode as o, createCommentVNode as m, renderSlot as u, toDisplayString as x, createVNode as f } from "vue";
2
- import { aP as D, aL as S, aG as B } from "./index-CH6HqHCV.js";
3
- import { _ as g } from "./OcIcon-BedshzZm.js";
2
+ import { aP as D, aL as S, aG as B } from "./index-C-LCb1gk.js";
3
+ import { _ as g } from "./OcIcon-DuLjS3TV.js";
4
4
  const M = ["onMouseleave", "onMouseover", "onClick"], L = { class: "flex justify-evenly w-full" }, N = { class: "flex w-full" }, U = { class: "ml-4 flex w-full" }, E = { class: "flex items-center flex-wrap w-full" }, O = ["href"], W = { class: "min-w-[120px]" }, j = { class: "truncate w-[200px]" }, z = { class: "flex items-center ml-4" }, A = { class: "flex w-full" }, P = {
5
5
  __name: "OcDraggableList",
6
6
  props: {
7
+ /** v-model — array of list item objects. Reordering updates this array. */
7
8
  modelValue: Array,
9
+ /** Object key used to read the icon name from each item. Default: `'icon'`. */
8
10
  iconKey: {
9
11
  type: String,
10
12
  default: "icon"
11
13
  },
14
+ /** Mark this list as a nested child list — affects styling (no background, icon always visible). */
12
15
  isChildren: Boolean,
16
+ /** Object key used to read nested child items from each item. Default: `'children'`. */
13
17
  childrenKey: {
14
18
  type: String,
15
19
  default: "children"
16
20
  },
21
+ /** Enable link display for items that have a link property. */
17
22
  isLink: Boolean,
23
+ /** Object key used to read the URL from each item when isLink is true. Default: `'link'`. */
18
24
  linkKey: {
19
25
  type: String,
20
26
  default: "link"
21
27
  },
28
+ /** Disable drag-and-drop for all items in this list. */
22
29
  unmovable: Boolean,
23
- // general unmovable
30
+ /** Apply inactive styling (gray background) for items where `active === false`. */
24
31
  enableStatusVariant: Boolean,
32
+ /** Extra Tailwind classes applied to each list item card. */
25
33
  classes: {
26
34
  type: String,
27
35
  default: ""
28
36
  },
37
+ /** Tailwind width class applied to the title text container (e.g. `'w-[200px]'`). */
29
38
  titleWidth: String
30
39
  },
31
40
  emits: {
41
+ /** Item order changed. Payload: `(newList, changedElement)`. */
32
42
  "update:modelValue": [],
43
+ /** A list item was clicked. Payload: the item object. */
33
44
  "click:element": [],
45
+ /** Drag-over event fired — use to allow/deny drops. */
34
46
  detectMove: null
35
47
  },
36
48
  setup(t, { emit: p }) {
@@ -1,5 +1,5 @@
1
1
  import { ref as m, computed as p, createElementBlock as l, openBlock as s, createVNode as f, createBlock as N, createCommentVNode as z, unref as c, withCtx as v, createElementVNode as n, normalizeClass as T, Fragment as V, renderList as k, createTextVNode as C } from "vue";
2
- import { aG as U, d as G, B as b } from "./index-CH6HqHCV.js";
2
+ import { aG as U, d as G, B as b } from "./index-C-LCb1gk.js";
3
3
  import { EMOJI_LIST as a, EMOJI_CATEGORIES as J } from "./Form/EmojiPicker/conts/emoji.js";
4
4
  import { _ as P } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const A = { class: "flex items-center justify-center rounded bg-oc-bg-dark h-[140px] relative w-full z-50" }, F = ["innerHTML"], R = { class: "p-4 w-[340px]" }, q = { class: "bg-oc-bg-dark p-4 rounded flex items-center justify-center" }, K = ["innerHTML"], Q = { class: "pt-3 pb-4" }, W = ["id", "innerHTML", "onClick"], X = {
@@ -1,27 +1,42 @@
1
1
  import { ref as r, computed as u, onMounted as B, createElementBlock as O, openBlock as k, renderSlot as $, createElementVNode as f, createVNode as c, unref as i } from "vue";
2
- import { t as w, B as m } from "./index-CH6HqHCV.js";
2
+ import { t as w, B as m } from "./index-C-LCb1gk.js";
3
3
  const C = { class: "flex w-[326px] flex-col gap-y-5" }, A = { class: "max-h-[500px] overflow-y-auto p-5" }, E = { class: "flex gap-x-5 px-5 pb-5" }, N = {
4
4
  __name: "OcFilterForm",
5
5
  props: {
6
+ /** Unique ID passed to the inner FormBuilder instance. */
6
7
  id: {
7
8
  type: String,
8
9
  required: !0
9
10
  },
11
+ /** FormBuilder field config array. Same shape as `FormBuilder.jsonForm`. */
10
12
  jsonForm: {
11
13
  type: Array
12
14
  },
15
+ /** Initial form values. Merged into local state on mount. */
13
16
  values: {
14
17
  type: Object
15
18
  },
19
+ /**
20
+ * Override labels for the action buttons.
21
+ * Shape: `{ applyButton: { label }, cancelButton: { label } }`.
22
+ */
16
23
  actions: {
17
24
  type: Object
18
25
  },
26
+ /** Optional responsive grid layout passed to the inner FormBuilder. */
19
27
  grid: {
20
28
  type: Object,
21
29
  default: null
22
30
  }
23
31
  },
24
- emits: ["applyFilter", "cancel", "filter-fields-changed"],
32
+ emits: {
33
+ /** Apply button clicked. Payload: current form values object. */
34
+ applyFilter: [],
35
+ /** Cancel button clicked. */
36
+ cancel: [],
37
+ /** Tracks which fields were changed before Apply. Payload: array of changed field names. */
38
+ "filter-fields-changed": []
39
+ },
25
40
  setup(t, { emit: y }) {
26
41
  const s = t, d = y, a = r({}), p = r({}), n = r([]), b = u(() => Object.values(a.value).length > 0), g = u(() => {
27
42
  var e, l;
@@ -1,16 +1,22 @@
1
1
  import { ref as u, computed as K, createElementBlock as d, openBlock as s, Fragment as p, createElementVNode as r, createCommentVNode as f, normalizeClass as O, createVNode as m, unref as c, withKeys as N, createSlots as Q, withCtx as h, toDisplayString as D, renderList as E, createBlock as S, nextTick as F } from "vue";
2
- import { d as I, aG as U, aH as j, B as w } from "./index-CH6HqHCV.js";
3
- import { _ as q } from "./OcIcon-BedshzZm.js";
2
+ import { d as I, aG as U, aH as j, B as w } from "./index-C-LCb1gk.js";
3
+ import { _ as q } from "./OcIcon-DuLjS3TV.js";
4
4
  const A = { class: "flex gap-x-4" }, G = { class: "flex gap-x-2 items-center pl-2 text-oc-text-400 font-medium text-sm" }, H = { class: "p-2 flex flex-col" }, P = {
5
5
  __name: "OcFilterSearch",
6
6
  props: {
7
+ /** Show the search bar permanently (no expand/collapse toggle). */
7
8
  isSearchOnly: Boolean,
9
+ /** Field options for the search-key dropdown. Array of `{ label, value }`. When empty, no dropdown is shown. */
8
10
  searchOptions: Array,
11
+ /** Currently selected search field value — must match one of the `searchOptions` values. */
9
12
  selectedOption: String
10
13
  },
11
14
  emits: {
15
+ /** User submitted a search term. Payload: query string. */
12
16
  addQuery: [],
17
+ /** Search bar expanded or collapsed. Payload: boolean. */
13
18
  toggle: [],
19
+ /** User selected a different search field from the dropdown. Payload: option value string. */
14
20
  "change-search-key": []
15
21
  },
16
22
  setup(a, { emit: C }) {
@@ -1,20 +1,25 @@
1
1
  import { computed as h, createBlock as c, createCommentVNode as k, openBlock as a, unref as o, withCtx as y, createElementVNode as f, createElementBlock as v, createVNode as F, Fragment as p, renderList as b } from "vue";
2
- import { T as $, aB as m } from "./index-CH6HqHCV.js";
2
+ import { T as $, aB as m } from "./index-C-LCb1gk.js";
3
3
  const w = { class: "flex gap-1 items-center normal-case flex-wrap" }, E = {
4
4
  __name: "OcFilterSearchFor",
5
5
  props: {
6
+ /** Applied filter chips. Array of `{ name, label, multiNames? }` objects from `formatFilterDisplay`. */
6
7
  filters: {
7
8
  type: Object,
8
9
  default: () => ({})
9
10
  },
11
+ /** Active search query strings shown as chips. */
10
12
  queries: {
11
13
  type: Object,
12
14
  default: () => ({})
13
15
  }
14
16
  },
15
17
  emits: {
18
+ /** A search query chip was dismissed. Payload: query string. */
16
19
  removeQuery: [],
20
+ /** A filter chip was dismissed. Payload: `(filterObject, fieldName)`. */
17
21
  removeFilter: [],
22
+ /** "Clear all" chip was clicked. */
18
23
  removeAll: []
19
24
  },
20
25
  setup(s, { emit: d }) {
@@ -2,14 +2,17 @@ import { createElementBlock as l, openBlock as r, createElementVNode as t, toDis
2
2
  const o = { class: "flex items-center gap-x-3" }, s = { class: "text-oc-text-400 text-sm shrink-0" }, c = { class: "w-full rounded-full bg-oc-gray-100 h-[8px] overflow-hidden" }, m = {
3
3
  __name: "OcHorizontalProgressbar",
4
4
  props: {
5
+ /** Label text shown to the left of the progress bar. */
5
6
  label: {
6
7
  type: String,
7
8
  default: ""
8
9
  },
10
+ /** Maximum value (denominator) for the progress calculation. */
9
11
  max: {
10
12
  type: Number,
11
13
  default: 0
12
14
  },
15
+ /** Current value — bar fills to `(current / max) * 100%`. */
13
16
  current: {
14
17
  type: Number,
15
18
  default: 0
@@ -2,18 +2,22 @@ import { ref as s, onMounted as l, nextTick as a, watch as w, createElementBlock
2
2
  const f = ["width", "height", "viewBox"], v = {
3
3
  __name: "OcIcon",
4
4
  props: {
5
+ /** Base URL path where SVG icon files are served from. */
5
6
  path: {
6
7
  type: String,
7
8
  default: "/icons/orchidui"
8
9
  },
10
+ /** Icon file name (without `.svg` extension). Fetched from `{path}/{name}.svg`. */
9
11
  name: {
10
12
  type: String,
11
13
  required: !0
12
14
  },
15
+ /** Width of the rendered SVG in pixels. */
13
16
  width: {
14
17
  type: [String, Number],
15
18
  default: "24"
16
19
  },
20
+ /** Height of the rendered SVG in pixels. */
17
21
  height: {
18
22
  type: [String, Number],
19
23
  default: "24"
@@ -1,15 +1,26 @@
1
1
  import { ref as o, createBlock as v, openBlock as d, unref as r, withCtx as x, createVNode as O } from "vue";
2
- import { aI as b } from "./index-CH6HqHCV.js";
3
- import k from "./OcCropper-DWLjgt8P.js";
2
+ import { aI as b } from "./index-C-LCb1gk.js";
3
+ import k from "./OcCropper-BlLLFt8j.js";
4
4
  const h = {
5
5
  __name: "OcModalCropper",
6
6
  props: {
7
+ /** Additional input field configs shown inside the cropper (e.g. alt text). Array of field definitions. */
7
8
  inputOptions: Array,
9
+ /** Current values for the `inputOptions` fields. Object keyed by field name. */
8
10
  inputOptionValues: Object,
11
+ /** Source image URL to load into the cropper. */
9
12
  img: String,
13
+ /** Maximum allowed file size in bytes. Passed through to the Cropper. */
10
14
  maxSize: [String, Number]
11
15
  },
12
- emits: ["changeImage", "close", "update:input-options"],
16
+ emits: {
17
+ /** Save clicked with a cropped image. Payload: `{ url, cropper }`. */
18
+ changeImage: [],
19
+ /** Modal closed without saving. */
20
+ close: [],
21
+ /** An `inputOptions` field value changed. Payload: new value. */
22
+ "update:input-options": []
23
+ },
13
24
  setup(e, { emit: l }) {
14
25
  const c = e, t = l, p = o();
15
26
  o();
@@ -903,35 +903,43 @@ var Br = [Jt, vr, Ut, Mt, lr, ir, mr, It, fr], Dr = /* @__PURE__ */ Pr({
903
903
  const jr = { class: "flex w-[inherit]" }, Cr = {
904
904
  __name: "OcPopper",
905
905
  props: {
906
+ /** Popper.js placement string (e.g. `'bottom'`, `'top-start'`, `'right-end'`). */
906
907
  placement: {
907
908
  type: String,
908
909
  required: !0
909
910
  },
910
911
  /**
911
- * Options passed to the `popper` from `https://popper.js.org/docs/v2/modifiers/`
912
+ * Additional options passed directly to the Popper.js instance.
913
+ * See https://popper.js.org/docs/v2/modifiers/ for available modifiers.
912
914
  */
913
915
  popperOptions: {
914
916
  type: Object
915
917
  },
918
+ /** Inline CSS styles applied to the popper container element. */
916
919
  popperStyle: {
917
920
  type: Object
918
921
  },
922
+ /** Horizontal shift of the popper relative to the reference element (px). */
919
923
  skidding: {
920
924
  type: Number,
921
925
  default: 0
922
926
  },
927
+ /** Vertical distance between the reference element and the popper panel (px). */
923
928
  distance: {
924
929
  type: [String, Number],
925
930
  default: 5
926
931
  },
932
+ /** Allow the popper to flip to the opposite side when it would overflow the viewport. */
927
933
  isFlipEnabled: {
928
934
  type: Boolean,
929
935
  default: !0
930
936
  },
937
+ /** CSS class(es) applied to the popper container element. */
931
938
  popperClass: {
932
939
  type: [String, Array, Object],
933
940
  default: ""
934
941
  },
942
+ /** Teleport the popper panel to `document.body` (required inside overflow:hidden containers). */
935
943
  isAttachToBody: {
936
944
  type: Boolean,
937
945
  default: !1
@@ -5,14 +5,17 @@ const d = {
5
5
  }, b = { class: "w-full flex align-center justify-center gap-2" }, f = {
6
6
  __name: "OcProgressBar",
7
7
  props: {
8
+ /** Total number of pill segments to render. */
8
9
  steps: {
9
10
  type: Number,
10
11
  required: !0
11
12
  },
13
+ /** Index of the last completed step (1-based). Segments up to this index are filled. */
12
14
  currentStep: {
13
15
  type: Number,
14
16
  default: 1
15
17
  },
18
+ /** Optional label text shown above the progress bar. */
16
19
  label: String
17
20
  },
18
21
  setup(e) {
@@ -2,6 +2,7 @@ import { createElementBlock as o, openBlock as i, createElementVNode as n, rende
2
2
  const c = { class: "oc-section" }, a = { class: "font-medium text-lg flex" }, d = { key: 0 }, m = { class: "mt-5" }, p = {
3
3
  __name: "OcSection",
4
4
  props: {
5
+ /** Section heading text shown in the header when no custom `header` slot is provided. */
5
6
  title: {
6
7
  type: String,
7
8
  required: !1
@@ -1,25 +1,30 @@
1
- import { createElementBlock as r, openBlock as n, Fragment as i, renderList as o, normalizeClass as a, createElementVNode as l, toDisplayString as c } from "vue";
1
+ import { createElementBlock as r, openBlock as n, Fragment as s, renderList as i, normalizeClass as a, createElementVNode as o, toDisplayString as c } from "vue";
2
2
  const u = { class: "flex items-center gap-2 p-2 rounded-full shadow-inner border border-oc-gray-200" }, d = ["onClick"], y = {
3
3
  __name: "OcSwitchTabs",
4
4
  props: {
5
+ /** Array of tab option objects, each with `value` and `label` fields. */
5
6
  options: {
6
7
  type: Array,
7
8
  required: !0
8
9
  },
10
+ /** Value of the currently selected option. */
9
11
  activeOption: {
10
12
  type: String,
11
13
  default: ""
12
14
  }
13
15
  },
14
- emits: ["select"],
16
+ emits: {
17
+ /** A tab was clicked. Payload: the `value` of the selected option. */
18
+ select: null
19
+ },
15
20
  setup(t) {
16
- return (s, m) => (n(), r("div", u, [
17
- (n(!0), r(i, null, o(t.options, (e) => (n(), r("div", {
21
+ return (l, m) => (n(), r("div", u, [
22
+ (n(!0), r(s, null, i(t.options, (e) => (n(), r("div", {
18
23
  key: e.value,
19
24
  class: a(["rounded-full cursor-pointer py-3 px-4 transition duration-300 border-2 border-transparent", { "bg-oc-gray-800": e.value === t.activeOption }]),
20
- onClick: (p) => s.$emit("select", e.value)
25
+ onClick: (p) => l.$emit("select", e.value)
21
26
  }, [
22
- l("span", {
27
+ o("span", {
23
28
  class: a(["text-oc-text-300 font-medium text-sm", { "text-white": e.value === t.activeOption }])
24
29
  }, c(e.label), 3)
25
30
  ], 10, d))), 128))
@@ -2,10 +2,15 @@ import { createElementBlock as a, openBlock as n, normalizeClass as r, toDisplay
2
2
  const o = {
3
3
  __name: "OcTag",
4
4
  props: {
5
+ /**
6
+ * Color variant of the tag.
7
+ * @values warning, accent-2
8
+ */
5
9
  variant: {
6
10
  type: String,
7
11
  default: "warning"
8
12
  },
13
+ /** Text label displayed inside the tag. */
9
14
  label: {
10
15
  type: String,
11
16
  default: ""
@@ -2,6 +2,10 @@ import { watch as r, createElementBlock as c, openBlock as s, renderSlot as l }
2
2
  const a = { class: "orchid-ui bg-oc-bg-light text-oc-text-500" }, n = {
3
3
  __name: "OcTheme",
4
4
  props: {
5
+ /**
6
+ * Global color mode applied to the `<body>` element class.
7
+ * @values light, dark
8
+ */
5
9
  colorMode: {
6
10
  type: String,
7
11
  default: "light"
@@ -1,5 +1,5 @@
1
1
  import { ref as n, watch as g, createBlock as m, openBlock as s, unref as o, withCtx as p, createVNode as v, createCommentVNode as y } from "vue";
2
- import { aG as S, d as h, aQ as D } from "./index-CH6HqHCV.js";
2
+ import { aG as S, d as h, aQ as D } from "./index-C-LCb1gk.js";
3
3
  import { d as c } from "./dayjs.min-7xVZzECu.js";
4
4
  const w = {
5
5
  __name: "OcTimePicker",
@@ -3,12 +3,16 @@ import { _ as R } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
3
  const $ = { class: "overflow-hidden flex items-center relative rounded shadow-normal w-fit px-3" }, N = { class: "before:block after:block before:w-full before:h-[67px] after:w-full after:h-[67px]" }, F = ["onClick"], O = { class: "before:block after:block before:w-full before:h-[67px] after:w-full after:h-[67px]" }, z = ["onClick"], Y = { class: "before:block after:block before:w-full before:h-[67px] after:w-full after:h-[67px]" }, j = ["onClick"], G = {
4
4
  __name: "OcTimePopup",
5
5
  props: {
6
+ /** Current time value (v-model). Pass a `Date` object; the component reads hours, minutes, and AM/PM from it. */
6
7
  modelValue: {
7
8
  type: [String, Date],
8
9
  default: () => /* @__PURE__ */ new Date()
9
10
  }
10
11
  },
11
- emits: ["update:modelValue"],
12
+ emits: {
13
+ /** Time changed by scrolling or clicking a column. Payload: updated `Date` object. */
14
+ "update:modelValue": []
15
+ },
12
16
  setup(A, { expose: H, emit: B }) {
13
17
  const u = A, D = B, n = r(
14
18
  u.modelValue.getHours() <= 12 ? u.modelValue.getHours() : u.modelValue.getHours() - 12
@@ -124,7 +128,7 @@ const $ = { class: "overflow-hidden flex items-center relative rounded shadow-no
124
128
  ], 544)
125
129
  ]));
126
130
  }
127
- }, K = /* @__PURE__ */ R(G, [["__scopeId", "data-v-434f8eef"]]);
131
+ }, K = /* @__PURE__ */ R(G, [["__scopeId", "data-v-8c1d732d"]]);
128
132
  export {
129
133
  K as default
130
134
  };
@@ -1,22 +1,27 @@
1
- import { computed as s, createElementBlock as i, openBlock as r, createElementVNode as l, createCommentVNode as b, normalizeClass as o, toDisplayString as f } from "vue";
1
+ import { computed as s, createElementBlock as c, openBlock as i, createElementVNode as l, createCommentVNode as b, normalizeClass as o, toDisplayString as f } from "vue";
2
2
  import { _ as m } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
3
  const g = { class: "inline-flex items-center gap-3 h-fit" }, h = ["value", "checked"], p = `absolute top-0 left-0 border border-transparent hover:bg-oc-primary-300 hover:border-oc-primary-500 bg-oc-primary-100 rounded-full cursor-pointer transition-all duration-300
4
4
  before:transition-all before:duration-300 before:absolute before:rounded-full before:bg-oc-bg-light`, x = {
5
5
  __name: "OcToggle",
6
6
  props: {
7
+ /** Toggle state (v-model). `true` = on, `false` = off. */
7
8
  modelValue: Boolean,
9
+ /** Disable the toggle — non-interactive, uses muted colors. */
8
10
  disabled: Boolean,
11
+ /** Size preset — `'default'` or `'small'`. */
9
12
  size: {
10
13
  type: String,
11
14
  default: "default"
12
15
  },
16
+ /** Label text rendered to the right of the toggle. Clicking it also toggles. */
13
17
  label: String
14
18
  },
15
19
  emits: {
20
+ /** Toggle state changed. Payload: new boolean value. */
16
21
  "update:modelValue": []
17
22
  },
18
- setup(e, { emit: c }) {
19
- const t = e, d = c, a = () => {
23
+ setup(e, { emit: r }) {
24
+ const t = e, d = r, a = () => {
20
25
  t.disabled || d("update:modelValue", !t.modelValue);
21
26
  }, n = s(() => ({
22
27
  default: "w-[42px] h-7",
@@ -25,7 +30,7 @@ const g = { class: "inline-flex items-center gap-3 h-fit" }, h = ["value", "chec
25
30
  default: "before:w-6 before:h-6 before:top-px before:left-px",
26
31
  small: " before:w-4 before:h-4 before:top-[0.5px] before:left-[0.5px]"
27
32
  }));
28
- return (v, V) => (r(), i("div", g, [
33
+ return (v, V) => (i(), c("div", g, [
29
34
  l("label", {
30
35
  class: o(["toggle-switch relative inline-block", [n.value[e.size], e.size, e.disabled ? "pointer-events-none" : ""]])
31
36
  }, [
@@ -45,14 +50,14 @@ const g = { class: "inline-flex items-center gap-3 h-fit" }, h = ["value", "chec
45
50
  }]])
46
51
  }, null, 2)
47
52
  ], 2),
48
- e.label ? (r(), i("div", {
53
+ e.label ? (i(), c("div", {
49
54
  key: 0,
50
55
  class: "text-sm cursor-pointer",
51
56
  onClick: a
52
57
  }, f(e.label), 1)) : b("", !0)
53
58
  ]));
54
59
  }
55
- }, z = /* @__PURE__ */ m(x, [["__scopeId", "data-v-23da89d0"]]);
60
+ }, z = /* @__PURE__ */ m(x, [["__scopeId", "data-v-477f47c0"]]);
56
61
  export {
57
62
  z as T
58
63
  };
@@ -1,4 +1,4 @@
1
- import { aE as r } from "../../index-CH6HqHCV.js";
1
+ import { aE as r } from "../../index-C-LCb1gk.js";
2
2
  export {
3
3
  r as ConfirmationModal
4
4
  };
@@ -1,4 +1,4 @@
1
- import { aF as a } from "../../index-CH6HqHCV.js";
1
+ import { aF as a } from "../../index-C-LCb1gk.js";
2
2
  export {
3
3
  a as CopyTooltip
4
4
  };
@@ -1,4 +1,4 @@
1
- import { aG as r, aH as p } from "../../index-CH6HqHCV.js";
1
+ import { aG as r, aH as p } from "../../index-C-LCb1gk.js";
2
2
  export {
3
3
  r as Dropdown,
4
4
  p as DropdownItem