@onereach/ui-components 23.2.0 → 23.2.1-beta.5570.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.
@@ -5,7 +5,7 @@ import { O as R } from "./OrInput-DBcNZlkx.mjs";
5
5
  import { O as U } from "./OrOverlay-BjrghiC-.mjs";
6
6
  import { useMagicKeys as G, whenever as J, onClickOutside as Q } from "@vueuse/core";
7
7
  import { logicAnd as W } from "@vueuse/math";
8
- import { defineComponent as X, ref as l, computed as t, toRef as Y, watch as c, resolveComponent as S, openBlock as P, createBlock as Z, withCtx as b, createElementVNode as a, mergeProps as x, normalizeClass as i, renderSlot as k, createTextVNode as w, toDisplayString as T, createElementBlock as _, createVNode as I, createCommentVNode as N } from "vue";
8
+ import { defineComponent as X, ref as l, computed as t, toRef as Y, watch as c, resolveComponent as k, openBlock as P, createBlock as Z, withCtx as S, createElementVNode as a, mergeProps as x, normalizeClass as i, renderSlot as b, createTextVNode as w, toDisplayString as T, createElementBlock as _, createVNode as I, createCommentVNode as N } from "vue";
9
9
  import { _ as oo } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
10
10
  var s = /* @__PURE__ */ ((o) => (o.D = "d", o.C = "c", o))(s || {});
11
11
  const eo = [
@@ -87,6 +87,10 @@ const eo = [
87
87
  type: Boolean,
88
88
  default: !0
89
89
  },
90
+ closeOnClickOutside: {
91
+ type: Boolean,
92
+ default: !0
93
+ },
90
94
  cancelButtonText: {
91
95
  type: String,
92
96
  default: "Cancel"
@@ -140,17 +144,17 @@ const eo = [
140
144
  ]), B = t(() => [
141
145
  ...ro,
142
146
  ...lo[o.confirmType]
143
- ]), f = t(() => [
147
+ ]), d = t(() => [
144
148
  ...ao
145
- ]), { state: $, open: A, close: d } = K(Y(o, "isOpen"), n.emit), m = l(!1), O = l("");
149
+ ]), { state: $, open: A, close: f } = K(Y(o, "isOpen"), n.emit), m = l(!1), O = l("");
146
150
  c($, () => {
147
151
  O.value = "";
148
152
  });
149
- const { escape: F, enter: q } = G(), h = t(() => !!o.confirmationText && o.confirmationText !== O.value), E = t(() => !!o.disabled || h.value), L = t(
153
+ const { escape: F, enter: q } = G(), v = t(() => !!o.confirmationText && o.confirmationText !== O.value), E = t(() => !!o.disabled || v.value), L = t(
150
154
  () => o.confirmType === s.C ? D.Primary : D.Danger
151
155
  );
152
- function v() {
153
- !o.disabled && !h.value && n.emit("confirm");
156
+ function h() {
157
+ !o.disabled && !v.value && n.emit("confirm");
154
158
  }
155
159
  function j() {
156
160
  m.value = !0;
@@ -159,10 +163,10 @@ const eo = [
159
163
  m.value = !1;
160
164
  }
161
165
  function H() {
162
- v(), o.autoCloseOnConfirm && d();
166
+ h(), o.autoCloseOnConfirm && f();
163
167
  }
164
168
  return c(F, (e) => {
165
- e && d();
169
+ e && f();
166
170
  }), c(y, (e) => {
167
171
  var r;
168
172
  return (r = e == null ? void 0 : e.focus) == null ? void 0 : r.call(e);
@@ -171,13 +175,15 @@ const eo = [
171
175
  const r = e.root;
172
176
  r == null || r.focus();
173
177
  }
174
- }), J(W(q, m), () => v()), Q(p, d), {
178
+ }), J(W(q, m), () => h()), Q(p, () => {
179
+ o.closeOnClickOutside && f();
180
+ }), {
175
181
  root: p,
176
182
  confirmationInput: y,
177
183
  confirmationButton: C,
178
184
  confirmationValue: O,
179
185
  confirmButtonColor: L,
180
- isInvalid: h,
186
+ isInvalid: v,
181
187
  isConfirmationButtonDisabled: E,
182
188
  state: $,
183
189
  isInputActive: m,
@@ -186,23 +192,23 @@ const eo = [
186
192
  headerStyles: g,
187
193
  inputBoxStyles: u,
188
194
  footerStyles: B,
189
- buttonsStyles: f,
190
- confirm: v,
195
+ buttonsStyles: d,
196
+ confirm: h,
191
197
  onConfirmClick: H,
192
198
  open: A,
193
- close: d,
199
+ close: f,
194
200
  onInputFocus: j,
195
201
  onInputBlur: z
196
202
  };
197
203
  }
198
204
  }), so = { class: "grow" }, uo = { class: "overflow-y-auto overflow-x-hidden" };
199
205
  function fo(o, n, p, y, C, V) {
200
- const g = S("OrInput"), u = S("OrButton"), B = S("OrOverlay");
206
+ const g = k("OrInput"), u = k("OrButton"), B = k("OrOverlay");
201
207
  return o.state === "open" ? (P(), Z(B, {
202
208
  key: 0,
203
209
  fullscreen: !0
204
210
  }, {
205
- default: b(() => [
211
+ default: S(() => [
206
212
  a("div", x(o.$attrs, {
207
213
  ref: "root",
208
214
  class: o.rootStyles,
@@ -211,13 +217,13 @@ function fo(o, n, p, y, C, V) {
211
217
  a("div", {
212
218
  class: i(o.headerStyles)
213
219
  }, [
214
- k(o.$slots, "header", {}, () => [
220
+ b(o.$slots, "header", {}, () => [
215
221
  w(T(o.titleText), 1)
216
222
  ])
217
223
  ], 2),
218
224
  a("div", so, [
219
225
  a("div", uo, [
220
- k(o.$slots, "default")
226
+ b(o.$slots, "default")
221
227
  ]),
222
228
  o.confirmationText ? (P(), _("div", {
223
229
  key: 0,
@@ -226,7 +232,7 @@ function fo(o, n, p, y, C, V) {
226
232
  I(g, {
227
233
  ref: "confirmationInput",
228
234
  modelValue: o.confirmationValue,
229
- "onUpdate:modelValue": n[0] || (n[0] = (f) => o.confirmationValue = f),
235
+ "onUpdate:modelValue": n[0] || (n[0] = (d) => o.confirmationValue = d),
230
236
  label: o.textConfirmationLabel,
231
237
  placeholder: o.textConfirmationPlaceholder,
232
238
  onFocus: o.onInputFocus,
@@ -234,7 +240,7 @@ function fo(o, n, p, y, C, V) {
234
240
  }, null, 8, ["modelValue", "label", "placeholder", "onFocus", "onBlur"])
235
241
  ], 2)) : N("", !0)
236
242
  ]),
237
- k(o.$slots, "footer", {
243
+ b(o.$slots, "footer", {
238
244
  confirm: o.confirm,
239
245
  cancel: o.close
240
246
  }, () => [
@@ -245,9 +251,9 @@ function fo(o, n, p, y, C, V) {
245
251
  class: i(o.buttonsStyles),
246
252
  variant: "outlined",
247
253
  disabled: o.loading,
248
- onClick: n[1] || (n[1] = (f) => o.close())
254
+ onClick: n[1] || (n[1] = (d) => o.close())
249
255
  }, {
250
- default: b(() => [
256
+ default: S(() => [
251
257
  w(T(o.cancelButtonText), 1)
252
258
  ]),
253
259
  _: 1
@@ -260,7 +266,7 @@ function fo(o, n, p, y, C, V) {
260
266
  disabled: o.isConfirmationButtonDisabled,
261
267
  onClick: o.onConfirmClick
262
268
  }, {
263
- default: b(() => [
269
+ default: S(() => [
264
270
  w(T(o.confirmButtonText), 1)
265
271
  ]),
266
272
  _: 1
@@ -272,9 +278,9 @@ function fo(o, n, p, y, C, V) {
272
278
  _: 3
273
279
  })) : N("", !0);
274
280
  }
275
- const vo = /* @__PURE__ */ oo(io, [["render", fo]]);
281
+ const ho = /* @__PURE__ */ oo(io, [["render", fo]]);
276
282
  export {
277
283
  s as C,
278
- vo as O
284
+ ho as O
279
285
  };
280
- //# sourceMappingURL=OrConfirm-C9pmyc_f.mjs.map
286
+ //# sourceMappingURL=OrConfirm-BKXhawH9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrConfirm-BKXhawH9.mjs","sources":["../../../components/or-confirm-v3/src/props.ts","../../../components/or-confirm-v3/src/styles.ts","../../../components/or-confirm-v3/src/OrConfirm.vue"],"sourcesContent":["export enum ConfirmType {\n D = 'd', // destructive / dangerous\n C = 'c', // consequential / common\n}\n","import { ConfirmType } from './props';\n\nexport const Confirm: string[] = [\n // Position\n 'fixed md:static',\n\n 'left-0',\n 'right-0',\n 'bottom-0',\n\n // Layout\n 'layout-column',\n\n // Box\n 'w-full md:w-[320px]',\n\n // Spacing\n 'px-lg',\n 'py-lg',\n\n 'gap-md',\n\n // Shape\n 'md:rounded-md',\n\n // Elevation\n 'shadow-modal',\n 'dark:shadow-modal-dark',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const ConfirmHeader: string[] = [\n // Layout\n 'layout-row justify-between',\n\n // Typography\n 'typography-headline-3',\n];\n\nexport const ConfirmInput: string[] = [\n // Box\n 'w-full',\n\n // Spacing\n 'mt-md',\n];\n\nexport const ConfirmFooter: string[] = [\n // Spacing\n 'gap-md',\n];\n\nexport const ConfirmFooterTypes: Record<ConfirmType, string[]> = {\n [ConfirmType.C]: [\n // Layout\n 'layout-row',\n ],\n\n [ConfirmType.D]: [\n // Layout\n 'layout-row-reverse',\n ],\n};\n\nexport const ConfirmFooterButtons: string[] = [\n // Layout\n '!grow',\n\n // Box\n 'w-auto md:w-[128px]',\n];\n","<template>\n <OrOverlay\n v-if=\"state === 'open'\"\n :fullscreen=\"true\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :role=\"'alertdialog'\"\n >\n <div :class=\"headerStyles\">\n <slot name=\"header\">\n {{ titleText }}\n </slot>\n </div>\n\n <div class=\"grow\">\n <div class=\"overflow-y-auto overflow-x-hidden\">\n <slot />\n </div>\n <div\n v-if=\"confirmationText\"\n :class=\"inputBoxStyles\"\n >\n <OrInput\n :ref=\"'confirmationInput'\"\n v-model=\"confirmationValue\"\n :label=\"textConfirmationLabel\"\n :placeholder=\"textConfirmationPlaceholder\"\n @focus=\"onInputFocus\"\n @blur=\"onInputBlur\"\n />\n </div>\n </div>\n\n <slot\n name=\"footer\"\n :confirm=\"confirm\"\n :cancel=\"close\"\n >\n <div :class=\"footerStyles\">\n <OrButton\n :class=\"buttonsStyles\"\n :variant=\"'outlined'\"\n :disabled=\"loading\"\n @click=\"close()\"\n >\n {{ cancelButtonText }}\n </OrButton>\n\n <OrButton\n :ref=\"'confirmationButton'\"\n :class=\"buttonsStyles\"\n :color=\"confirmButtonColor\"\n :loading=\"loading\"\n :disabled=\"isConfirmationButtonDisabled\"\n @click=\"onConfirmClick\"\n >\n {{ confirmButtonText }}\n </OrButton>\n </div>\n </slot>\n </div>\n </OrOverlay>\n</template>\n\n<script lang=\"ts\">\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { ButtonColor, OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrOverlayV3 as OrOverlay } from '@onereach/ui-components.or-overlay-v3';\nimport { onClickOutside, useMagicKeys, whenever } from '@vueuse/core';\nimport { logicAnd } from '@vueuse/math';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport { ConfirmType } from './props';\nimport { Confirm, ConfirmFooter, ConfirmFooterButtons, ConfirmFooterTypes, ConfirmHeader, ConfirmInput } from './styles';\n\nexport default defineComponent({\n name: 'OrConfirm',\n\n components: {\n OrOverlay,\n OrButton,\n OrInput,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n titleText: {\n type: String,\n required: false,\n default: null,\n },\n\n confirmButtonText: {\n type: String,\n default: 'Confirm',\n },\n\n autoCloseOnConfirm: {\n type: Boolean,\n default: true,\n },\n\n closeOnClickOutside: {\n type: Boolean,\n default: true,\n },\n\n cancelButtonText: {\n type: String,\n default: 'Cancel',\n },\n\n confirmType: {\n type: String as PropType<`${ConfirmType}`>,\n default: () => ConfirmType.C,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n\n confirmationText: {\n type: String,\n default: undefined,\n },\n\n textConfirmationLabel: {\n type: String,\n default: undefined,\n },\n\n textConfirmationPlaceholder: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n 'confirm',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const confirmationInput = ref<InstanceType<typeof OrInput>>();\n const confirmationButton = ref<InstanceType<typeof OrButton>>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-confirm-v3',\n ...Confirm,\n ]);\n\n const headerStyles = computed(() => [\n ...ConfirmHeader,\n ]);\n\n const inputBoxStyles = computed(() => [\n ...ConfirmInput,\n ]);\n\n const footerStyles = computed(() => [\n ...ConfirmFooter,\n ...ConfirmFooterTypes[props.confirmType],\n ]);\n\n const buttonsStyles = computed(() => [\n ...ConfirmFooterButtons,\n ]);\n\n // State\n const { state, open, close } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n const isInputActive = ref(false);\n const confirmationValue = ref('');\n\n watch(state, () => {\n confirmationValue.value = '';\n });\n\n const { escape, enter } = useMagicKeys();\n\n const isInvalid = computed(() => {\n return !!props.confirmationText && props.confirmationText !== confirmationValue.value;\n });\n\n const isConfirmationButtonDisabled = computed(() => !!props.disabled || isInvalid.value);\n\n const confirmButtonColor = computed(() =>\n props.confirmType === ConfirmType.C ? ButtonColor.Primary : ButtonColor.Danger,\n );\n\n // Methods\n function confirm(): void {\n if (!props.disabled && !isInvalid.value) {\n context.emit('confirm');\n }\n }\n\n function onInputFocus(): void {\n isInputActive.value = true;\n }\n\n function onInputBlur(): void {\n isInputActive.value = false;\n }\n\n function onConfirmClick(): void {\n confirm();\n if (props.autoCloseOnConfirm) {\n close();\n }\n }\n // Events\n watch(escape, (val) => {\n if (val) close();\n });\n\n // types here are used for fixing TS2349\n watch(confirmationInput as any, (val: InstanceType<typeof OrInput>) =>\n (val?.focus as (() => void) | undefined)?.());\n\n // types here are used for fixing TS2349\n watch(confirmationButton as any, (val: InstanceType<typeof OrButton>) => {\n if (val && !props.confirmationText) {\n const button = val.root as HTMLButtonElement | undefined;\n button?.focus();\n }\n });\n\n whenever(logicAnd(enter, isInputActive), () => confirm());\n\n // #region Click Outside\n onClickOutside(root, () => {\n props.closeOnClickOutside ? close() : undefined;\n });\n // #endregion\n\n return {\n root,\n confirmationInput,\n confirmationButton,\n confirmationValue,\n confirmButtonColor,\n isInvalid,\n isConfirmationButtonDisabled,\n state,\n isInputActive,\n escape,\n rootStyles,\n headerStyles,\n inputBoxStyles,\n footerStyles,\n buttonsStyles,\n confirm,\n onConfirmClick,\n open,\n close,\n onInputFocus,\n onInputBlur,\n };\n },\n});\n</script>\n"],"names":["ConfirmType","Confirm","ConfirmHeader","ConfirmInput","ConfirmFooter","ConfirmFooterTypes","ConfirmFooterButtons","_sfc_main","defineComponent","OrOverlay","OrButton","OrInput","props","context","root","ref","confirmationInput","confirmationButton","rootStyles","computed","headerStyles","inputBoxStyles","footerStyles","buttonsStyles","state","open","close","usePopoverState","toRef","isInputActive","confirmationValue","watch","escape","enter","useMagicKeys","isInvalid","isConfirmationButtonDisabled","confirmButtonColor","ButtonColor","confirm","onInputFocus","onInputBlur","onConfirmClick","val","_a","button","whenever","logicAnd","onClickOutside","_component_OrOverlay","_resolveComponent","_ctx","_openBlock","_createBlock","_withCtx","_createElementVNode","_mergeProps","_normalizeClass","_hoisted_1","_hoisted_2","_renderSlot","_createElementBlock","_createVNode","_component_OrInput","_cache","$event","_createCommentVNode","_component_OrButton"],"mappings":";;;;;;;;;AAAY,IAAAA,sBAAAA,OACVA,EAAA,IAAI,KACJA,EAAA,IAAI,KAFMA,IAAAA,KAAA,CAAA,CAAA;ACEL,MAAMC,KAAoB;AAAA;AAAA,EAE/B;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAA0B;AAAA;AAAA,EAErC;AAAA;AAAA,EAGA;AACF,GAEaC,KAAyB;AAAA;AAAA,EAEpC;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0B;AAAA;AAAA,EAErC;AACF,GAEaC,KAAoD;AAAA,EAC/D,CAACL,EAAY,CAAC,GAAG;AAAA;AAAA,IAEf;AAAA,EACF;AAAA,EAEA,CAACA,EAAY,CAAC,GAAG;AAAA;AAAA,IAEf;AAAA,EACF;AACF,GAEaM,KAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AACF,GCAAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IAEA,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMX,EAAY;AAAA,IAC7B;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,IAEA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,6BAA6B;AAAA,MAC3B,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMY,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPC,IAAoBD,KACpBE,IAAqBF,KAGrBG,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGlB;AAAA,IAAA,CACJ,GAEKmB,IAAeD,EAAS,MAAM;AAAA,MAClC,GAAGjB;AAAA,IAAA,CACJ,GAEKmB,IAAiBF,EAAS,MAAM;AAAA,MACpC,GAAGhB;AAAA,IAAA,CACJ,GAEKmB,IAAeH,EAAS,MAAM;AAAA,MAClC,GAAGf;AAAA,MACH,GAAGC,GAAmBO,EAAM,WAAW;AAAA,IAAA,CACxC,GAEKW,IAAgBJ,EAAS,MAAM;AAAA,MACnC,GAAGb;AAAA,IAAA,CACJ,GAGK,EAAE,OAAAkB,GAAO,MAAAC,GAAM,OAAAC,EAAM,IAAIC,EAAgBC,EAAMhB,GAAO,QAAQ,GAAGC,EAAQ,IAAI,GAC7EgB,IAAgBd,EAAI,EAAK,GACzBe,IAAoBf,EAAI,EAAE;AAEhC,IAAAgB,EAAMP,GAAO,MAAM;AACjB,MAAAM,EAAkB,QAAQ;AAAA,IAAA,CAC3B;AAED,UAAM,EAAE,QAAAE,GAAQ,OAAAC,EAAM,IAAIC,EAAa,GAEjCC,IAAYhB,EAAS,MAClB,CAAC,CAACP,EAAM,oBAAoBA,EAAM,qBAAqBkB,EAAkB,KACjF,GAEKM,IAA+BjB,EAAS,MAAM,CAAC,CAACP,EAAM,YAAYuB,EAAU,KAAK,GAEjFE,IAAqBlB;AAAA,MAAS,MAClCP,EAAM,gBAAgBZ,EAAY,IAAIsC,EAAY,UAAUA,EAAY;AAAA,IAAA;AAI1E,aAASC,IAAgB;AACvB,MAAI,CAAC3B,EAAM,YAAY,CAACuB,EAAU,SAChCtB,EAAQ,KAAK,SAAS;AAAA,IAE1B;AAEA,aAAS2B,IAAqB;AAC5B,MAAAX,EAAc,QAAQ;AAAA,IACxB;AAEA,aAASY,IAAoB;AAC3B,MAAAZ,EAAc,QAAQ;AAAA,IACxB;AAEA,aAASa,IAAuB;AACtB,MAAAH,KACJ3B,EAAM,sBACFc;IAEV;AAEM,WAAAK,EAAAC,GAAQ,CAACW,MAAQ;AACjB,MAAAA,KAAWjB;IAAA,CAChB,GAGDK,EAAMf,GAA0B,CAAC2B,MAC9B;;AAAA,cAAAC,IAAAD,KAAA,gBAAAA,EAAK,UAAL,gBAAAC,EAAA,KAAAD;AAAA,KAA2C,GAGxCZ,EAAAd,GAA2B,CAAC0B,MAAuC;AACnE,UAAAA,KAAO,CAAC/B,EAAM,kBAAkB;AAClC,cAAMiC,IAASF,EAAI;AACnB,QAAAE,KAAA,QAAAA,EAAQ;AAAA,MACV;AAAA,IAAA,CACD,GAEDC,EAASC,EAASd,GAAOJ,CAAa,GAAG,MAAMU,GAAS,GAGxDS,EAAelC,GAAM,MAAM;AACnB,MAAAF,EAAA,uBAAsBc,EAAU;AAAA,IAAA,CACvC,GAGM;AAAA,MACL,MAAAZ;AAAA,MACA,mBAAAE;AAAA,MACA,oBAAAC;AAAA,MACA,mBAAAa;AAAA,MACA,oBAAAO;AAAA,MACA,WAAAF;AAAA,MACA,8BAAAC;AAAA,MACA,OAAAZ;AAAA,MACA,eAAAK;AAAA,MACA,QAAAG;AAAA,MACA,YAAAd;AAAA,MACA,cAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,eAAAC;AAAA,MACA,SAAAgB;AAAA,MACA,gBAAAG;AAAA,MACA,MAAAjB;AAAA,MACA,OAAAC;AAAA,MACA,cAAAc;AAAA,MACA,aAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;6CAlScQ,IAAAC,EAAA,WAAA;AACA,SAAAC,EAAA,UAAA,UAAAC,EAAA,GAAEC,EAAIJ,GAAA;AAAA,IAAA,KAAA;AAAA;;aAITK,EAAM,MAAA;AAAA,MAAAC,EACJ,OAAUC,EAAAL,EAAA,QAAA;AAAA,QACjB,KAAI;AAAA,QAAA,OAAAA,EAAA;AAAA,QAEL,MAAA;AAAA,MAAA,CAAM,GAAA;AAAA,QAAAI,EAAA,OAAA;AAAA,UACJ,OAEOE,EAAAN,EAAA,YAAA;AAAA,QAAA,GAAA;AAAA;;UAGT,CAAA;AAAA,QACE,GAAA,CAAA;AAAA,QACUI,EAAA,OAAAG,IAAA;AAAA,UAAAH,EAAA,OAAAI,IAAA;AAAA,YAGFC,EAAgBT,EAAA,QAAA,SAAA;AAAA,UAAA,CAAA;AAAA,qCACdU,EAAA,OAAA;AAAA,YAAA,KAAA;AAAA,YAER,OAOEJ,EAAAN,EAAA,cAAA;AAAA,UAAA,GAAA;AAAA,YALSW,EAAAC,GAAA;AAAA,cAAA,KAAA;AAAA,cACR,YAAOZ,EAAA;AAAA,cACP,uBAAaa,EAA2B,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAd,EAAA,oBAAAc;AAAA,cACxC,OAAKd,EAAE;AAAA,cACP,aAAMA,EAAA;AAAA,cAAA,SAAAA,EAAA;AAAA;;mBAKbe,EA0BO,IAAA,EAAA;AAAA,QAAA,CAAA;AAAA,UAvBIf,EAAK,QAAA,UAAA;AAAA,UAuBT,SAAAA,EAAA;AAAA,UArBL,QAAAA,EAAA;AAAA,QAAA,GAAW,MAAA;AAAA,UAAAI,EAAA,OAAA;AAAA,YACT,OAOWE,EAAAN,EAAA,YAAA;AAAA,UAAA,GAAA;AAAA,cALCgB,GAAU;AAAA,cACnB,OAAiBV,EAAAN,EAAA,aAAA;AAAA,cACjB,SAAK;AAAA,cAAA,UAAAA,EAAA;AAAA,cAEgB,SAAAa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAd,EAAA;YAAA,GAAA;AAAA;;;cAGxB,GAAA;AAAA,YACG,GAAA,GAAG,CAAE,SAAoB,UAAA,CAAA;AAAA,YAAAW,EACpBK,GAAE;AAAA,cACP,KAAK;AAAA,cACL,OAAOV,EAASN,EAAA,aAAA;AAAA,cAChB,OAAUA,EAAA;AAAA,cACV,SAAOA,EAAA;AAAA,cAAA,UAAAA,EAAA;AAAA;;;;;;;;;;;;;;;"}
@@ -17,7 +17,7 @@ import { html as q } from "@codemirror/lang-html";
17
17
  import { EditorView as K } from "@codemirror/view";
18
18
  import { EditorState as X } from "@codemirror/state";
19
19
  import { O as Z } from "../OrCombinedInput-CLIIindo.mjs";
20
- import { C as $, O as rr } from "../OrConfirm-C9pmyc_f.mjs";
20
+ import { C as $, O as rr } from "../OrConfirm-BKXhawH9.mjs";
21
21
  import { O as ar } from "../OrContextMenu-CrpiM2Jq.mjs";
22
22
  import { D as tr, O as sr } from "../OrDataGrid-BML2-j9s.mjs";
23
23
  import { O as ir } from "../OrDateFormat-CnNnn2qx.mjs";
@@ -1,4 +1,4 @@
1
- import { C as f, O as m } from "../../OrConfirm-C9pmyc_f.mjs";
1
+ import { C as f, O as m } from "../../OrConfirm-BKXhawH9.mjs";
2
2
  export {
3
3
  f as ConfirmType,
4
4
  m as OrConfirmV3
@@ -17,7 +17,7 @@ import { html as q } from "@codemirror/lang-html";
17
17
  import { EditorView as K } from "@codemirror/view";
18
18
  import { EditorState as X } from "@codemirror/state";
19
19
  import { O as Z } from "./OrCombinedInput-CLIIindo.mjs";
20
- import { C as $, O as rr } from "./OrConfirm-C9pmyc_f.mjs";
20
+ import { C as $, O as rr } from "./OrConfirm-BKXhawH9.mjs";
21
21
  import { O as ar } from "./OrContextMenu-CrpiM2Jq.mjs";
22
22
  import { D as tr, O as sr } from "./OrDataGrid-BML2-j9s.mjs";
23
23
  import { O as ir } from "./OrDateFormat-CnNnn2qx.mjs";
@@ -19,6 +19,10 @@ declare const _default: import("vue").DefineComponent<{
19
19
  type: BooleanConstructor;
20
20
  default: boolean;
21
21
  };
22
+ closeOnClickOutside: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
22
26
  cancelButtonText: {
23
27
  type: StringConstructor;
24
28
  default: string;
@@ -579,6 +583,10 @@ declare const _default: import("vue").DefineComponent<{
579
583
  type: BooleanConstructor;
580
584
  default: boolean;
581
585
  };
586
+ closeOnClickOutside: {
587
+ type: BooleanConstructor;
588
+ default: boolean;
589
+ };
582
590
  cancelButtonText: {
583
591
  type: StringConstructor;
584
592
  default: string;
@@ -620,6 +628,7 @@ declare const _default: import("vue").DefineComponent<{
620
628
  titleText: string;
621
629
  confirmButtonText: string;
622
630
  autoCloseOnConfirm: boolean;
631
+ closeOnClickOutside: boolean;
623
632
  cancelButtonText: string;
624
633
  confirmType: "d" | "c";
625
634
  confirmationText: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "23.2.0",
3
+ "version": "23.2.1-beta.5570.0",
4
4
  "description": "Vue components library for v3",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -46,8 +46,8 @@
46
46
  "@codemirror/view": "^6",
47
47
  "@floating-ui/dom": "1.5.3",
48
48
  "@lezer/highlight": "*",
49
- "@onereach/styles": "^23.2.0",
50
- "@onereach/ui-components-common": "^23.2.0",
49
+ "@onereach/styles": "^23.2.1-beta.5570.0",
50
+ "@onereach/ui-components-common": "^23.2.1-beta.5570.0",
51
51
  "@splidejs/splide": "4.0.6",
52
52
  "@tiptap/core": "2.0.3",
53
53
  "@tiptap/extension-blockquote": "2.0.3",
@@ -102,6 +102,5 @@
102
102
  "publishConfig": {
103
103
  "access": "public"
104
104
  },
105
- "npmUnpacked": "4.15.2",
106
- "gitHead": "a46509db45bcfd9fe3086a3c2bb0f490ce1390e6"
105
+ "npmUnpacked": "4.15.2"
107
106
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrConfirm-C9pmyc_f.mjs","sources":["../../../components/or-confirm-v3/src/props.ts","../../../components/or-confirm-v3/src/styles.ts","../../../components/or-confirm-v3/src/OrConfirm.vue"],"sourcesContent":["export enum ConfirmType {\n D = 'd', // destructive / dangerous\n C = 'c', // consequential / common\n}\n","import { ConfirmType } from './props';\n\nexport const Confirm: string[] = [\n // Position\n 'fixed md:static',\n\n 'left-0',\n 'right-0',\n 'bottom-0',\n\n // Layout\n 'layout-column',\n\n // Box\n 'w-full md:w-[320px]',\n\n // Spacing\n 'px-lg',\n 'py-lg',\n\n 'gap-md',\n\n // Shape\n 'md:rounded-md',\n\n // Elevation\n 'shadow-modal',\n 'dark:shadow-modal-dark',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const ConfirmHeader: string[] = [\n // Layout\n 'layout-row justify-between',\n\n // Typography\n 'typography-headline-3',\n];\n\nexport const ConfirmInput: string[] = [\n // Box\n 'w-full',\n\n // Spacing\n 'mt-md',\n];\n\nexport const ConfirmFooter: string[] = [\n // Spacing\n 'gap-md',\n];\n\nexport const ConfirmFooterTypes: Record<ConfirmType, string[]> = {\n [ConfirmType.C]: [\n // Layout\n 'layout-row',\n ],\n\n [ConfirmType.D]: [\n // Layout\n 'layout-row-reverse',\n ],\n};\n\nexport const ConfirmFooterButtons: string[] = [\n // Layout\n '!grow',\n\n // Box\n 'w-auto md:w-[128px]',\n];\n","<template>\n <OrOverlay\n v-if=\"state === 'open'\"\n :fullscreen=\"true\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :role=\"'alertdialog'\"\n >\n <div :class=\"headerStyles\">\n <slot name=\"header\">\n {{ titleText }}\n </slot>\n </div>\n\n <div class=\"grow\">\n <div class=\"overflow-y-auto overflow-x-hidden\">\n <slot />\n </div>\n <div\n v-if=\"confirmationText\"\n :class=\"inputBoxStyles\"\n >\n <OrInput\n :ref=\"'confirmationInput'\"\n v-model=\"confirmationValue\"\n :label=\"textConfirmationLabel\"\n :placeholder=\"textConfirmationPlaceholder\"\n @focus=\"onInputFocus\"\n @blur=\"onInputBlur\"\n />\n </div>\n </div>\n\n <slot\n name=\"footer\"\n :confirm=\"confirm\"\n :cancel=\"close\"\n >\n <div :class=\"footerStyles\">\n <OrButton\n :class=\"buttonsStyles\"\n :variant=\"'outlined'\"\n :disabled=\"loading\"\n @click=\"close()\"\n >\n {{ cancelButtonText }}\n </OrButton>\n\n <OrButton\n :ref=\"'confirmationButton'\"\n :class=\"buttonsStyles\"\n :color=\"confirmButtonColor\"\n :loading=\"loading\"\n :disabled=\"isConfirmationButtonDisabled\"\n @click=\"onConfirmClick\"\n >\n {{ confirmButtonText }}\n </OrButton>\n </div>\n </slot>\n </div>\n </OrOverlay>\n</template>\n\n<script lang=\"ts\">\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { ButtonColor, OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrOverlayV3 as OrOverlay } from '@onereach/ui-components.or-overlay-v3';\nimport { onClickOutside, useMagicKeys, whenever } from '@vueuse/core';\nimport { logicAnd } from '@vueuse/math';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport { ConfirmType } from './props';\nimport { Confirm, ConfirmFooter, ConfirmFooterButtons, ConfirmFooterTypes, ConfirmHeader, ConfirmInput } from './styles';\n\nexport default defineComponent({\n name: 'OrConfirm',\n\n components: {\n OrOverlay,\n OrButton,\n OrInput,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n titleText: {\n type: String,\n required: false,\n default: null,\n },\n\n confirmButtonText: {\n type: String,\n default: 'Confirm',\n },\n\n autoCloseOnConfirm: {\n type: Boolean,\n default: true,\n },\n\n cancelButtonText: {\n type: String,\n default: 'Cancel',\n },\n\n confirmType: {\n type: String as PropType<`${ConfirmType}`>,\n default: () => ConfirmType.C,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n\n confirmationText: {\n type: String,\n default: undefined,\n },\n\n textConfirmationLabel: {\n type: String,\n default: undefined,\n },\n\n textConfirmationPlaceholder: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n 'confirm',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const confirmationInput = ref<InstanceType<typeof OrInput>>();\n const confirmationButton = ref<InstanceType<typeof OrButton>>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-confirm-v3',\n ...Confirm,\n ]);\n\n const headerStyles = computed(() => [\n ...ConfirmHeader,\n ]);\n\n const inputBoxStyles = computed(() => [\n ...ConfirmInput,\n ]);\n\n const footerStyles = computed(() => [\n ...ConfirmFooter,\n ...ConfirmFooterTypes[props.confirmType],\n ]);\n\n const buttonsStyles = computed(() => [\n ...ConfirmFooterButtons,\n ]);\n\n // State\n const { state, open, close } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n const isInputActive = ref(false);\n const confirmationValue = ref('');\n\n watch(state, () => {\n confirmationValue.value = '';\n });\n\n const { escape, enter } = useMagicKeys();\n\n const isInvalid = computed(() => {\n return !!props.confirmationText && props.confirmationText !== confirmationValue.value;\n });\n\n const isConfirmationButtonDisabled = computed(() => !!props.disabled || isInvalid.value);\n\n const confirmButtonColor = computed(() =>\n props.confirmType === ConfirmType.C ? ButtonColor.Primary : ButtonColor.Danger,\n );\n\n // Methods\n function confirm(): void {\n if (!props.disabled && !isInvalid.value) {\n context.emit('confirm');\n }\n }\n\n function onInputFocus(): void {\n isInputActive.value = true;\n }\n\n function onInputBlur(): void {\n isInputActive.value = false;\n }\n\n function onConfirmClick(): void {\n confirm();\n if (props.autoCloseOnConfirm) {\n close();\n }\n }\n // Events\n watch(escape, (val) => {\n if (val) close();\n });\n\n // types here are used for fixing TS2349\n watch(confirmationInput as any, (val: InstanceType<typeof OrInput>) =>\n (val?.focus as (() => void) | undefined)?.());\n\n // types here are used for fixing TS2349\n watch(confirmationButton as any, (val: InstanceType<typeof OrButton>) => {\n if (val && !props.confirmationText) {\n const button = val.root as HTMLButtonElement | undefined;\n button?.focus();\n }\n });\n\n whenever(logicAnd(enter, isInputActive), () => confirm());\n\n // #region Click Outside\n onClickOutside(root, close);\n // #endregion\n\n return {\n root,\n confirmationInput,\n confirmationButton,\n confirmationValue,\n confirmButtonColor,\n isInvalid,\n isConfirmationButtonDisabled,\n state,\n isInputActive,\n escape,\n rootStyles,\n headerStyles,\n inputBoxStyles,\n footerStyles,\n buttonsStyles,\n confirm,\n onConfirmClick,\n open,\n close,\n onInputFocus,\n onInputBlur,\n };\n },\n});\n</script>\n"],"names":["ConfirmType","Confirm","ConfirmHeader","ConfirmInput","ConfirmFooter","ConfirmFooterTypes","ConfirmFooterButtons","_sfc_main","defineComponent","OrOverlay","OrButton","OrInput","props","context","root","ref","confirmationInput","confirmationButton","rootStyles","computed","headerStyles","inputBoxStyles","footerStyles","buttonsStyles","state","open","close","usePopoverState","toRef","isInputActive","confirmationValue","watch","escape","enter","useMagicKeys","isInvalid","isConfirmationButtonDisabled","confirmButtonColor","ButtonColor","confirm","onInputFocus","onInputBlur","onConfirmClick","val","_a","button","whenever","logicAnd","onClickOutside","_component_OrOverlay","_resolveComponent","_ctx","_openBlock","_createBlock","_withCtx","_createElementVNode","_mergeProps","_normalizeClass","_hoisted_1","_hoisted_2","_renderSlot","_createElementBlock","_createVNode","_component_OrInput","_cache","$event","_createCommentVNode","_component_OrButton"],"mappings":"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"}