@enerjisaformlibrary/formbuilder-react 1.0.2 → 1.0.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/index.js CHANGED
@@ -3,7 +3,6 @@ import * as React from 'react';
3
3
  import React__default, { useLayoutEffect, useEffect, useRef, useMemo, useCallback, useState, createContext, memo, useReducer, useContext, forwardRef, cloneElement, createElement } from 'react';
4
4
  import * as ReactDOM from 'react-dom';
5
5
  import ReactDOM__default, { unstable_batchedUpdates, createPortal } from 'react-dom';
6
- import { webcrypto } from 'node:crypto';
7
6
 
8
7
  // https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js
9
8
  const canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
@@ -9272,30 +9271,17 @@ const createImpl = (createState) => {
9272
9271
  };
9273
9272
  const create = ((createState) => createState ? createImpl(createState) : createImpl);
9274
9273
 
9275
- const urlAlphabet =
9274
+ /* @ts-self-types="./index.d.ts" */
9275
+ let urlAlphabet =
9276
9276
  'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
9277
-
9278
- const POOL_SIZE_MULTIPLIER = 128;
9279
- let pool, poolOffset;
9280
- function fillPool(bytes) {
9281
- if (!pool || pool.length < bytes) {
9282
- pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
9283
- webcrypto.getRandomValues(pool);
9284
- poolOffset = 0;
9285
- } else if (poolOffset + bytes > pool.length) {
9286
- webcrypto.getRandomValues(pool);
9287
- poolOffset = 0;
9288
- }
9289
- poolOffset += bytes;
9290
- }
9291
- function nanoid(size = 21) {
9292
- fillPool((size |= 0));
9277
+ let nanoid = (size = 21) => {
9293
9278
  let id = '';
9294
- for (let i = poolOffset - size; i < poolOffset; i++) {
9295
- id += urlAlphabet[pool[i] & 63];
9279
+ let i = size | 0;
9280
+ while (i--) {
9281
+ id += urlAlphabet[(Math.random() * 64) | 0];
9296
9282
  }
9297
9283
  return id
9298
- }
9284
+ };
9299
9285
 
9300
9286
  const createEmptyColumn = (width = 12) => ({
9301
9287
  id: nanoid(),
@@ -14518,8 +14504,51 @@ var [createTooltipContext] = createContextScope("Tooltip", [
14518
14504
  ]);
14519
14505
  var usePopperScope$2 = createPopperScope();
14520
14506
  var PROVIDER_NAME = "TooltipProvider";
14507
+ var DEFAULT_DELAY_DURATION = 700;
14521
14508
  var TOOLTIP_OPEN = "tooltip.open";
14522
14509
  var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);
14510
+ var TooltipProvider$1 = (props) => {
14511
+ const {
14512
+ __scopeTooltip,
14513
+ delayDuration = DEFAULT_DELAY_DURATION,
14514
+ skipDelayDuration = 300,
14515
+ disableHoverableContent = false,
14516
+ children
14517
+ } = props;
14518
+ const isOpenDelayedRef = React.useRef(true);
14519
+ const isPointerInTransitRef = React.useRef(false);
14520
+ const skipDelayTimerRef = React.useRef(0);
14521
+ React.useEffect(() => {
14522
+ const skipDelayTimer = skipDelayTimerRef.current;
14523
+ return () => window.clearTimeout(skipDelayTimer);
14524
+ }, []);
14525
+ return /* @__PURE__ */ jsx(
14526
+ TooltipProviderContextProvider,
14527
+ {
14528
+ scope: __scopeTooltip,
14529
+ isOpenDelayedRef,
14530
+ delayDuration,
14531
+ onOpen: React.useCallback(() => {
14532
+ window.clearTimeout(skipDelayTimerRef.current);
14533
+ isOpenDelayedRef.current = false;
14534
+ }, []),
14535
+ onClose: React.useCallback(() => {
14536
+ window.clearTimeout(skipDelayTimerRef.current);
14537
+ skipDelayTimerRef.current = window.setTimeout(
14538
+ () => isOpenDelayedRef.current = true,
14539
+ skipDelayDuration
14540
+ );
14541
+ }, [skipDelayDuration]),
14542
+ isPointerInTransitRef,
14543
+ onPointerInTransitChange: React.useCallback((inTransit) => {
14544
+ isPointerInTransitRef.current = inTransit;
14545
+ }, []),
14546
+ disableHoverableContent,
14547
+ children
14548
+ }
14549
+ );
14550
+ };
14551
+ TooltipProvider$1.displayName = PROVIDER_NAME;
14523
14552
  var TOOLTIP_NAME = "Tooltip";
14524
14553
  var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);
14525
14554
  var Tooltip$1 = (props) => {
@@ -14929,10 +14958,12 @@ function getHullPresorted(points) {
14929
14958
  return upperHull.concat(lowerHull);
14930
14959
  }
14931
14960
  }
14961
+ var Provider = TooltipProvider$1;
14932
14962
  var Root3$1 = Tooltip$1;
14933
14963
  var Trigger$5 = TooltipTrigger$1;
14934
14964
  var Content2$4 = TooltipContent$1;
14935
14965
 
14966
+ const TooltipProvider = Provider;
14936
14967
  const Tooltip = Root3$1;
14937
14968
  const TooltipTrigger = Trigger$5;
14938
14969
  const TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (jsx(Content2$4, { ref: ref, sideOffset: sideOffset, className: cn("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]", className), ...props })));
@@ -28530,7 +28561,7 @@ function FormBuilder({ initialForm, onSave, onChange, className = '', theme = 'l
28530
28561
  }
28531
28562
  }
28532
28563
  };
28533
- return (jsxs("div", { className: `formbuilder-container ${theme} ${className}`, children: [jsxs(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragStart: handleDragStart, onDragOver: handleDragOver, onDragEnd: handleDragEnd, children: [jsxs("div", { className: "flex flex-col h-full", children: [showToolbar && (jsx(Toolbar, { onOpenJsonViewer: () => setJsonViewerOpen(true) })), jsxs("div", { className: "flex flex-1 overflow-hidden", children: [showComponentLibrary && (jsx(ComponentLibrary, {})), jsx("div", { className: "flex-1 overflow-auto", children: jsx(FormCanvas, {}) }), showPropertiesPanel && (jsx(PropertiesPanel, {}))] })] }), jsx(DragOverlay, { children: activeId && activeType && (jsx(DragOverlayContent, { type: activeType })) })] }), jsx(JsonViewerModal, { isOpen: jsonViewerOpen, onClose: () => setJsonViewerOpen(false), schema: form })] }));
28564
+ return (jsx(TooltipProvider, { children: jsxs("div", { className: `formbuilder-container ${theme} ${className}`, children: [jsxs(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragStart: handleDragStart, onDragOver: handleDragOver, onDragEnd: handleDragEnd, children: [jsxs("div", { className: "flex flex-col h-full", children: [showToolbar && (jsx(Toolbar, { onOpenJsonViewer: () => setJsonViewerOpen(true) })), jsxs("div", { className: "flex flex-1 overflow-hidden", children: [showComponentLibrary && (jsx(ComponentLibrary, {})), jsx("div", { className: "flex-1 overflow-auto", children: jsx(FormCanvas, {}) }), showPropertiesPanel && (jsx(PropertiesPanel, {}))] })] }), jsx(DragOverlay, { children: activeId && activeType && (jsx(DragOverlayContent, { type: activeType })) })] }), jsx(JsonViewerModal, { isOpen: jsonViewerOpen, onClose: () => setJsonViewerOpen(false), schema: form })] }) }));
28534
28565
  }
28535
28566
  function getDefaultLabel(type) {
28536
28567
  const labels = {