mado-ui 0.5.5 → 0.5.7
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/css/index.css +100 -13
- package/dist/components/drop-down.d.ts +12 -12
- package/dist/components/drop-down.d.ts.map +1 -1
- package/dist/components/form/human-verification.d.ts +15 -0
- package/dist/components/form/human-verification.d.ts.map +1 -0
- package/dist/components/form/index.d.ts +0 -1
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/input/date/index.d.ts +16 -36
- package/dist/components/form/input/date/index.d.ts.map +1 -1
- package/dist/components/form/input/index.d.ts +91 -8
- package/dist/components/form/input/index.d.ts.map +1 -1
- package/dist/components/link.d.ts +14 -13
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/tooltip.d.ts +7 -7
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/video.d.ts +6 -6
- package/dist/components/video.d.ts.map +1 -1
- package/dist/components.d.ts +96 -194
- package/dist/components.esm.js +624 -782
- package/dist/components.esm.js.map +1 -1
- package/dist/components.js +621 -779
- package/dist/components.js.map +1 -1
- package/dist/graphics.esm.js +2 -2
- package/dist/graphics.esm.js.map +1 -1
- package/dist/graphics.js +2 -2
- package/dist/graphics.js.map +1 -1
- package/dist/hooks/use-fieldset-context.d.ts.map +1 -1
- package/dist/hooks/use-form-context.d.ts +5 -5
- package/dist/hooks/use-form-context.d.ts.map +1 -1
- package/dist/hooks.d.ts +5 -5
- package/dist/hooks.esm.js.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/icons/index.d.ts +142 -143
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/square-and-arrow-up-right.d.ts +3 -0
- package/dist/icons/square-and-arrow-up-right.d.ts.map +1 -0
- package/dist/icons/square-and-pencil.d.ts +2 -2
- package/dist/icons/square-and-pencil.d.ts.map +1 -1
- package/dist/icons.d.ts +2 -4
- package/dist/icons.esm.js +2 -6
- package/dist/icons.esm.js.map +1 -1
- package/dist/icons.js +1 -6
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +96 -194
- package/dist/index.esm.js +624 -782
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +621 -779
- package/dist/index.js.map +1 -1
- package/dist/utils/get-date.d.ts +20 -32
- package/dist/utils/get-date.d.ts.map +1 -1
- package/dist/utils.d.ts +22 -34
- package/dist/utils.esm.js +40 -1064
- package/dist/utils.esm.js.map +1 -1
- package/dist/utils.js +41 -1067
- package/dist/utils.js.map +1 -1
- package/package.json +88 -100
- package/dist/components/form/input/date/views/index.d.ts +0 -5
- package/dist/components/form/input/date/views/index.d.ts.map +0 -1
- package/dist/icons/square-and-pencil-fill.d.ts +0 -3
- package/dist/icons/square-and-pencil-fill.d.ts.map +0 -1
package/dist/hooks.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.esm.js","sources":["../src/hooks/create-fast-context.tsx","../src/hooks/use-form-context.tsx","../src/hooks/use-fieldset-context.tsx","../src/hooks/use-form-status.tsx","../src/hooks/use-pointer-movement.ts"],"sourcesContent":["// * React\nimport { HTMLAttributes, useRef, createContext, useContext, useSyncExternalStore } from 'react'\n\nexport function createFastContext<Store>(defaultInitialState: Store) {\n\tfunction useStoreData(initialState: Store = defaultInitialState): {\n\t\tget: () => Store\n\t\tset: (value: Store | ((prevState: Store) => Store)) => void\n\t\tsubscribe: (callback: () => void) => () => void\n\t} {\n\t\tconst store = useRef(initialState),\n\t\t\tget = () => store.current,\n\t\t\tsubscribers = useRef(new Set<() => void>())\n\n\t\tconst set = (value: Store | ((prevState: Store) => Store)) => {\n\t\t\tif (typeof value === 'function') {\n\t\t\t\tstore.current = (value as (prevState: Store) => Store)(store.current)\n\t\t\t} else {\n\t\t\t\tstore.current = value\n\t\t\t}\n\t\t\tsubscribers.current.forEach(callback => callback())\n\t\t}\n\n\t\tconst subscribe = (callback: () => void) => {\n\t\t\tsubscribers.current.add(callback)\n\t\t\treturn () => subscribers.current.delete(callback)\n\t\t}\n\n\t\treturn {\n\t\t\tget,\n\t\t\tset,\n\t\t\tsubscribe,\n\t\t}\n\t}\n\n\ttype UseStoreDataReturnType = ReturnType<typeof useStoreData>\n\n\tconst StoreContext = createContext<UseStoreDataReturnType | null>(null)\n\n\tfunction Provider({\n\t\tinitialValue = defaultInitialState,\n\t\t...props\n\t}: Pick<HTMLAttributes<HTMLElement>, 'children'> & { initialValue?: Store }) {\n\t\treturn <StoreContext.Provider value={useStoreData(initialValue)} {...props} />\n\t}\n\n\tfunction useStore<SelectorOutput>(\n\t\tselector: (store: Store) => SelectorOutput,\n\t\tinitialValue?: Store,\n\t): [SelectorOutput | undefined, ((value: Store | ((prevState: Store) => Store)) => void) | undefined] {\n\t\tconst store = useContext(StoreContext)\n\n\t\tif (!store) {\n\t\t\tconst localStoreValue = initialValue !== undefined ? initialValue : defaultInitialState\n\n\t\t\tconst selectedValue = selector(localStoreValue)\n\t\t\tconst noOpSet = () => console.warn('Attempting to set store value outside of Provider')\n\n\t\t\treturn [selectedValue, noOpSet]\n\t\t}\n\n\t\tconst state = useSyncExternalStore(\n\t\t\tstore.subscribe,\n\t\t\t() => selector(store.get()),\n\t\t\t() => selector(initialValue !== undefined ? initialValue : defaultInitialState),\n\t\t)\n\n\t\treturn [state, store.set]\n\t}\n\n\treturn {\n\t\tProvider,\n\t\tuseStore,\n\t}\n}\n","// * Types\nexport type FieldType = 'array' | 'email' | 'file' | 'number' | 'object' | 'string' | 'tel' | 'textarea' | 'url'\n\nexport type StringField = {\n\ttype: 'email' | 'file' | 'number' | 'string' | 'tel' | 'textarea' | 'url'\n\tvalue: string\n}\n\nexport type ObjectField = { type: 'object'; fields: Field[] }\n\nexport type ArrayField = { type: 'array'; of: ArrayObjectOrNormalField[] }\n\ntype ArrayObjectOrNormalField = StringField | ArrayField | ObjectField\n\nexport type Field<T extends StringField | ArrayField | ObjectField = ArrayObjectOrNormalField> = T & {\n\tid: string\n\tname: string\n\trequired?: boolean\n\tinvalid?: boolean\n}\n\nexport type FormContext = Field[]\n\n// * React\nimport { ReactNode, useCallback } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\n/**\n * # Define Field\n *\n * This is a helper function to define a field in a form context with type safety.\n */\nexport function defineField(fieldDefinition: Field) {\n\treturn fieldDefinition\n}\n\nexport function isStringField(field: Field) {\n\treturn Boolean(field.type !== 'object' && field.type !== 'array')\n}\n\nconst { Provider, useStore } = createFastContext<FormContext>([])\n\nexport function FormContextProvider({ children }: { children?: ReactNode }) {\n\treturn <Provider>{children}</Provider>\n}\n\nexport function useFormContext() {\n\tconst [formContext, setFormContext] = useStore(store => store)\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst otherFields = (prevContext || []).filter(otherField => otherField.id !== field.id)\n\n\t\t\treturn [...otherFields, field]\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFormContext?.(prevContext => (prevContext || []).filter(field => field.id !== fieldID))\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst field = prevContext.find(({ id }) => id === fieldID)\n\n\t\t\tif (!field) throw new Error(`Field with id \"${fieldID}\" not found in form context.`)\n\n\t\t\tconst otherFields = prevContext.filter(({ id }) => id !== fieldID)\n\n\t\t\tconst updatedField = { ...field, ...updates } as Field\n\n\t\t\treturn [...otherFields, updatedField]\n\t\t})\n\t}, [])\n\n\treturn [formContext, { registerField, removeField, updateField }] as const\n}\n","// * Types\nimport { defineField, Field, isStringField, StringField, useFormContext } from './use-form-context'\n\nexport type FieldsetContextValue = {\n\tfieldList: Field[]\n\tdecorative: boolean\n\tid: string\n\tjoin?: string\n\tname: string\n}\n\nexport type FieldsetContext = [\n\tFieldsetContextValue | undefined,\n\t{\n\t\tregisterField: (field: Field) => void\n\t\tremoveField: (fieldID: string) => void\n\t\tupdateField: (fieldID: string, updates: Partial<Field>) => void\n\t},\n]\n\n// * React\nimport { FieldsetHTMLAttributes, ReactNode, useCallback, useEffect } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst { Provider, useStore } = createFastContext<FieldsetContextValue | undefined>(undefined)\n\nexport function FieldsetContextProvider({\n\tchildren,\n\tinitialValue,\n}: {\n\tchildren?: ReactNode\n\tinitialValue?: FieldsetContextValue\n}) {\n\treturn <Provider initialValue={initialValue}>{children}</Provider>\n}\n\nexport function useFieldsetContext(): FieldsetContext {\n\tconst [fieldsetContext, setFieldsetContext] = useStore(store => store),\n\t\t[, formContextFunctions] = useFormContext()\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\tconst existingFieldIndex = prev.fieldList.findIndex(existingField => existingField.id === field.id)\n\n\t\t\tconst newFieldList =\n\t\t\t\texistingFieldIndex >= 0\n\t\t\t\t\t? prev.fieldList.map((existingField, index) => (index === existingFieldIndex ? field : existingField))\n\t\t\t\t\t: [...prev.fieldList, field]\n\n\t\t\treturn { ...prev, fieldList: newFieldList }\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.filter(field => field.id !== fieldID),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.map(field => (field.id === fieldID ? ({ ...field, ...updates } as Field) : field)),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst createFormContextEntry = useCallback((fieldsetEntry: FieldsetContextValue): Field => {\n\t\tif (fieldsetEntry.join) {\n\t\t\tconst joinedValue = fieldsetEntry.fieldList\n\t\t\t\t.filter(field => isStringField(field) && (field as Field<StringField>).value !== '')\n\t\t\t\t.map(field => (field as Field<StringField>).value)\n\t\t\t\t.join(fieldsetEntry.join)\n\n\t\t\treturn defineField({\n\t\t\t\ttype: 'string',\n\t\t\t\tid: fieldsetEntry.id,\n\t\t\t\tname: fieldsetEntry.name,\n\t\t\t\tvalue: joinedValue,\n\t\t\t\trequired: fieldsetEntry.fieldList.some(field => (field as Field<StringField>).required),\n\t\t\t\tinvalid: fieldsetEntry.fieldList.some(field => (field as Field<StringField>).invalid),\n\t\t\t})\n\t\t}\n\n\t\treturn defineField({\n\t\t\ttype: 'object',\n\t\t\tid: fieldsetEntry.id,\n\t\t\tname: fieldsetEntry.name,\n\t\t\tfields: fieldsetEntry.fieldList,\n\t\t})\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!fieldsetContext || fieldsetContext.decorative) return\n\n\t\tconst formContextEntry = createFormContextEntry(fieldsetContext)\n\n\t\tformContextFunctions.registerField(formContextEntry)\n\n\t\treturn () => {\n\t\t\tformContextFunctions.removeField(fieldsetContext.id)\n\t\t}\n\t}, [fieldsetContext, formContextFunctions.registerField, formContextFunctions.removeField, createFormContextEntry])\n\n\treturn [fieldsetContext, { registerField, removeField, updateField }]\n}\n","// * Types\nimport { ReactNode, Suspense } from 'react'\n\nexport type FormStatus = 'error' | 'incomplete' | 'loading' | 'ready' | 'success' | 'readonly'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst DEFAULT_STATUS: FormStatus = 'incomplete'\n\nconst { Provider, useStore } = createFastContext<FormStatus>(DEFAULT_STATUS)\n\nexport function FormStatusProvider({\n\tchildren,\n\tinitialStatus = DEFAULT_STATUS,\n}: {\n\tchildren?: ReactNode\n\tinitialStatus?: FormStatus\n}) {\n\treturn (\n\t\t<Suspense>\n\t\t\t<Provider initialValue={initialStatus}>{children}</Provider>\n\t\t</Suspense>\n\t)\n}\n\nexport function useFormStatus() {\n\treturn useStore(store => store)\n}\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react'\n\nexport type Coords = { x: number; y: number }\n\nexport type Cursor =\n\t| 'alias'\n\t| 'all-scroll'\n\t| 'auto'\n\t| 'cell'\n\t| 'col-resize'\n\t| 'context-menu'\n\t| 'copy'\n\t| 'crosshair'\n\t| 'default'\n\t| 'e-resize'\n\t| 'ew-resize'\n\t| 'grab'\n\t| 'grabbing'\n\t| 'help'\n\t| 'move'\n\t| 'no-drop'\n\t| 'not-allowed'\n\t| 'n-resize'\n\t| 'ne-resize'\n\t| 'nw-resize'\n\t| 'ns-resize'\n\t| 'nesw-resize'\n\t| 'nwse-resize'\n\t| 'pointer'\n\t| 'progress'\n\t| 'row-resize'\n\t| 's-resize'\n\t| 'se-resize'\n\t| 'sw-resize'\n\t| 'text'\n\t| 'vertical-text'\n\t| 'w-resize'\n\t| 'wait'\n\t| 'zoom-in'\n\t| 'zoom-out'\n\nexport type UsePointerMovementProps = {\n\tactiveCursor?: Cursor\n\tonChange?: (delta: Coords) => void\n\tonEnd?: (delta: Coords) => void\n}\n\nexport function usePointerMovement(props?: UsePointerMovementProps) {\n\tconst pointerTypeRef = useRef<'mouse' | 'pointer' | 'touch'>('pointer'),\n\t\t[isTracking, setIsTracking] = useState(false),\n\t\t[delta, setDelta] = useState<Coords>({ x: 0, y: 0 }),\n\t\tstartCoordsRef = useRef<Coords>({ x: 0, y: 0 })\n\n\tconst styleID = useId()\n\n\tconst changeCursor = (cursor: Cursor | false) => {\n\t\tif (cursor === false) {\n\t\t\tdocument.querySelector<HTMLStyleElement>(`#${styleID}`)?.remove()\n\t\t\treturn\n\t\t}\n\n\t\tconst css = `*, *:active { cursor: ${cursor}; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }`\n\n\t\tconst style = document.createElement('style')\n\n\t\tstyle.id = styleID\n\t\tstyle.innerHTML = css\n\n\t\tdocument.body.prepend(style)\n\t}\n\n\tconst trackPointerMovement = (\n\t\te: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement> | React.TouchEvent<HTMLElement>,\n\t) => {\n\t\tchangeCursor(props?.activeCursor || 'grabbing')\n\n\t\tconst { type } = e\n\n\t\tswitch (type) {\n\t\t\tcase 'mousemove':\n\t\t\tcase 'mouseup':\n\t\t\tcase 'pointermove':\n\t\t\tcase 'pointerup':\n\t\t\tcase 'touchmove':\n\t\t\tcase 'touchend':\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'To initiate the tracking of pointer movement, you must use a `mousedown`, `pointerdown`, or `touchstart`.',\n\t\t\t\t)\n\t\t\tcase 'mousedown':\n\t\t\t\tpointerTypeRef.current = 'mouse'\n\t\t\t\tbreak\n\t\t\tcase 'pointerdown':\n\t\t\t\tpointerTypeRef.current = 'pointer'\n\t\t\t\tbreak\n\t\t\tcase 'touchstart':\n\t\t\t\tpointerTypeRef.current = 'touch'\n\t\t\t\tbreak\n\t\t}\n\n\t\tlet x = 0,\n\t\t\ty = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tx = touches[0].clientX\n\t\t\ty = touches[0].clientY\n\t\t} else {\n\t\t\tx = e.clientX\n\t\t\ty = e.clientY\n\t\t}\n\n\t\tstartCoordsRef.current = { x, y }\n\t\tsetIsTracking(true)\n\t}\n\n\tconst updateDelta = useCallback((e: MouseEvent | PointerEvent | TouchEvent) => {\n\t\tlet clientX = 0,\n\t\t\tclientY = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tclientX = touches[0].clientX\n\t\t\tclientY = touches[0].clientY\n\t\t} else {\n\t\t\tclientX = e.clientX\n\t\t\tclientY = e.clientY\n\t\t}\n\n\t\tconst { x, y } = startCoordsRef.current,\n\t\t\tnewDelta = { x: clientX - x, y: clientY - y }\n\n\t\tsetDelta(newDelta)\n\t\tprops?.onChange?.(newDelta)\n\t}, [])\n\n\tconst stopTracking = useCallback(() => {\n\t\tchangeCursor(false)\n\t\tsetIsTracking(false)\n\t\tprops?.onEnd?.(delta)\n\t}, [delta])\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst controller = new AbortController(),\n\t\t\tsignal = controller.signal\n\n\t\tif (isTracking) {\n\t\t\tswitch (pointerTypeRef.current) {\n\t\t\t\tcase 'mouse':\n\t\t\t\t\tdocument.body.addEventListener('mousemove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('mouseup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'pointer':\n\t\t\t\t\tdocument.body.addEventListener('pointermove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('pointerup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'touch':\n\t\t\t\t\tdocument.body.addEventListener('touchmove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('touchend', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tcontroller.abort()\n\t\t}\n\n\t\treturn () => {\n\t\t\tcontroller.abort()\n\t\t}\n\t}, [isTracking, updateDelta, stopTracking])\n\n\treturn { delta, stopTracking, trackPointerMovement }\n}\n"],"names":["_jsx","Provider","useStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.esm.js","sources":["../src/hooks/create-fast-context.tsx","../src/hooks/use-form-context.tsx","../src/hooks/use-fieldset-context.tsx","../src/hooks/use-form-status.tsx","../src/hooks/use-pointer-movement.ts"],"sourcesContent":["// * React\nimport { HTMLAttributes, useRef, createContext, useContext, useSyncExternalStore } from 'react'\n\nexport function createFastContext<Store>(defaultInitialState: Store) {\n\tfunction useStoreData(initialState: Store = defaultInitialState): {\n\t\tget: () => Store\n\t\tset: (value: Store | ((prevState: Store) => Store)) => void\n\t\tsubscribe: (callback: () => void) => () => void\n\t} {\n\t\tconst store = useRef(initialState),\n\t\t\tget = () => store.current,\n\t\t\tsubscribers = useRef(new Set<() => void>())\n\n\t\tconst set = (value: Store | ((prevState: Store) => Store)) => {\n\t\t\tif (typeof value === 'function') {\n\t\t\t\tstore.current = (value as (prevState: Store) => Store)(store.current)\n\t\t\t} else {\n\t\t\t\tstore.current = value\n\t\t\t}\n\t\t\tsubscribers.current.forEach(callback => callback())\n\t\t}\n\n\t\tconst subscribe = (callback: () => void) => {\n\t\t\tsubscribers.current.add(callback)\n\t\t\treturn () => subscribers.current.delete(callback)\n\t\t}\n\n\t\treturn {\n\t\t\tget,\n\t\t\tset,\n\t\t\tsubscribe,\n\t\t}\n\t}\n\n\ttype UseStoreDataReturnType = ReturnType<typeof useStoreData>\n\n\tconst StoreContext = createContext<UseStoreDataReturnType | null>(null)\n\n\tfunction Provider({\n\t\tinitialValue = defaultInitialState,\n\t\t...props\n\t}: Pick<HTMLAttributes<HTMLElement>, 'children'> & { initialValue?: Store }) {\n\t\treturn <StoreContext.Provider value={useStoreData(initialValue)} {...props} />\n\t}\n\n\tfunction useStore<SelectorOutput>(\n\t\tselector: (store: Store) => SelectorOutput,\n\t\tinitialValue?: Store,\n\t): [SelectorOutput | undefined, ((value: Store | ((prevState: Store) => Store)) => void) | undefined] {\n\t\tconst store = useContext(StoreContext)\n\n\t\tif (!store) {\n\t\t\tconst localStoreValue = initialValue !== undefined ? initialValue : defaultInitialState\n\n\t\t\tconst selectedValue = selector(localStoreValue)\n\t\t\tconst noOpSet = () => console.warn('Attempting to set store value outside of Provider')\n\n\t\t\treturn [selectedValue, noOpSet]\n\t\t}\n\n\t\tconst state = useSyncExternalStore(\n\t\t\tstore.subscribe,\n\t\t\t() => selector(store.get()),\n\t\t\t() => selector(initialValue !== undefined ? initialValue : defaultInitialState),\n\t\t)\n\n\t\treturn [state, store.set]\n\t}\n\n\treturn {\n\t\tProvider,\n\t\tuseStore,\n\t}\n}\n","// * Types\nexport type FieldType = 'array' | 'email' | 'file' | 'number' | 'object' | 'string' | 'tel' | 'textarea' | 'url'\n\nexport type StringField = {\n\ttype: 'email' | 'file' | 'number' | 'string' | 'tel' | 'textarea' | 'url'\n\tvalue: string\n\trequired?: boolean\n\tinvalid?: boolean\n}\n\nexport type ObjectField = { type: 'object'; fields: Field[] }\n\nexport type ArrayField = { type: 'array'; of: ArrayObjectOrNormalField }\n\ntype ArrayObjectOrNormalField = StringField | ArrayField | ObjectField\n\nexport type Field = ArrayObjectOrNormalField & {\n\tid: string\n\tname: string\n}\n\nexport type FormContext = Field[]\n\n// * React\nimport { ReactNode, useCallback } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\n/**\n * # Define Field\n *\n * This is a helper function to define a field in a form context with type safety.\n */\nexport function defineField(fieldDefinition: Field) {\n\treturn fieldDefinition\n}\n\nexport function isStringField(field: Field) {\n\treturn Boolean(field.type !== 'object' && field.type !== 'array')\n}\n\nconst { Provider, useStore } = createFastContext<FormContext>([])\n\nexport function FormContextProvider({ children }: { children?: ReactNode }) {\n\treturn <Provider>{children}</Provider>\n}\n\nexport function useFormContext() {\n\tconst [formContext, setFormContext] = useStore(store => store)\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst otherFields = (prevContext || []).filter(otherField => otherField.id !== field.id)\n\n\t\t\treturn [...otherFields, field]\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFormContext?.(prevContext => (prevContext || []).filter(field => field.id !== fieldID))\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst field = prevContext.find(({ id }) => id === fieldID)\n\n\t\t\tif (!field) throw new Error(`Field with id \"${fieldID}\" not found in form context.`)\n\n\t\t\tconst otherFields = prevContext.filter(({ id }) => id !== fieldID)\n\n\t\t\tconst updatedField = { ...field, ...updates } as Field\n\n\t\t\treturn [...otherFields, updatedField]\n\t\t})\n\t}, [])\n\n\treturn [formContext, { registerField, removeField, updateField }] as const\n}\n","// * Types\nimport { defineField, Field, isStringField, StringField, useFormContext } from './use-form-context'\n\nexport type FieldsetContextValue = {\n\tfieldList: Field[]\n\tdecorative: boolean\n\tid: string\n\tjoin?: string\n\tname: string\n}\n\nexport type FieldsetContext = [\n\tFieldsetContextValue | undefined,\n\t{\n\t\tregisterField: (field: Field) => void\n\t\tremoveField: (fieldID: string) => void\n\t\tupdateField: (fieldID: string, updates: Partial<Field>) => void\n\t},\n]\n\n// * React\nimport { ReactNode, useCallback, useEffect } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst { Provider, useStore } = createFastContext<FieldsetContextValue | undefined>(undefined)\n\nexport function FieldsetContextProvider({\n\tchildren,\n\tinitialValue,\n}: {\n\tchildren?: ReactNode\n\tinitialValue?: FieldsetContextValue\n}) {\n\treturn <Provider initialValue={initialValue}>{children}</Provider>\n}\n\nexport function useFieldsetContext(): FieldsetContext {\n\tconst [fieldsetContext, setFieldsetContext] = useStore(store => store),\n\t\t[, formContextFunctions] = useFormContext()\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\tconst existingFieldIndex = prev.fieldList.findIndex(existingField => existingField.id === field.id)\n\n\t\t\tconst newFieldList =\n\t\t\t\texistingFieldIndex >= 0\n\t\t\t\t\t? prev.fieldList.map((existingField, index) => (index === existingFieldIndex ? field : existingField))\n\t\t\t\t\t: [...prev.fieldList, field]\n\n\t\t\treturn { ...prev, fieldList: newFieldList }\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.filter(field => field.id !== fieldID),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.map(field => (field.id === fieldID ? ({ ...field, ...updates } as Field) : field)),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst createFormContextEntry = useCallback((fieldsetEntry: FieldsetContextValue): Field => {\n\t\tif (fieldsetEntry.join) {\n\t\t\tconst joinedValue = fieldsetEntry.fieldList\n\t\t\t\t.filter(field => isStringField(field) && (field as StringField).value !== '')\n\t\t\t\t.map(field => (field as StringField).value)\n\t\t\t\t.join(fieldsetEntry.join)\n\n\t\t\treturn defineField({\n\t\t\t\ttype: 'string',\n\t\t\t\tid: fieldsetEntry.id,\n\t\t\t\tname: fieldsetEntry.name,\n\t\t\t\tvalue: joinedValue,\n\t\t\t\trequired: fieldsetEntry.fieldList.some(field => (field as StringField).required),\n\t\t\t\tinvalid: fieldsetEntry.fieldList.some(field => (field as StringField).invalid),\n\t\t\t})\n\t\t}\n\n\t\treturn defineField({\n\t\t\ttype: 'object',\n\t\t\tid: fieldsetEntry.id,\n\t\t\tname: fieldsetEntry.name,\n\t\t\tfields: fieldsetEntry.fieldList,\n\t\t})\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!fieldsetContext || fieldsetContext.decorative) return\n\n\t\tconst formContextEntry = createFormContextEntry(fieldsetContext)\n\n\t\tformContextFunctions.registerField(formContextEntry)\n\n\t\treturn () => {\n\t\t\tformContextFunctions.removeField(fieldsetContext.id)\n\t\t}\n\t}, [fieldsetContext, formContextFunctions.registerField, formContextFunctions.removeField, createFormContextEntry])\n\n\treturn [fieldsetContext, { registerField, removeField, updateField }]\n}\n","// * Types\nimport { ReactNode, Suspense } from 'react'\n\nexport type FormStatus = 'error' | 'incomplete' | 'loading' | 'ready' | 'success' | 'readonly'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst DEFAULT_STATUS: FormStatus = 'incomplete'\n\nconst { Provider, useStore } = createFastContext<FormStatus>(DEFAULT_STATUS)\n\nexport function FormStatusProvider({\n\tchildren,\n\tinitialStatus = DEFAULT_STATUS,\n}: {\n\tchildren?: ReactNode\n\tinitialStatus?: FormStatus\n}) {\n\treturn (\n\t\t<Suspense>\n\t\t\t<Provider initialValue={initialStatus}>{children}</Provider>\n\t\t</Suspense>\n\t)\n}\n\nexport function useFormStatus() {\n\treturn useStore(store => store)\n}\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react'\n\nexport type Coords = { x: number; y: number }\n\nexport type Cursor =\n\t| 'alias'\n\t| 'all-scroll'\n\t| 'auto'\n\t| 'cell'\n\t| 'col-resize'\n\t| 'context-menu'\n\t| 'copy'\n\t| 'crosshair'\n\t| 'default'\n\t| 'e-resize'\n\t| 'ew-resize'\n\t| 'grab'\n\t| 'grabbing'\n\t| 'help'\n\t| 'move'\n\t| 'no-drop'\n\t| 'not-allowed'\n\t| 'n-resize'\n\t| 'ne-resize'\n\t| 'nw-resize'\n\t| 'ns-resize'\n\t| 'nesw-resize'\n\t| 'nwse-resize'\n\t| 'pointer'\n\t| 'progress'\n\t| 'row-resize'\n\t| 's-resize'\n\t| 'se-resize'\n\t| 'sw-resize'\n\t| 'text'\n\t| 'vertical-text'\n\t| 'w-resize'\n\t| 'wait'\n\t| 'zoom-in'\n\t| 'zoom-out'\n\nexport type UsePointerMovementProps = {\n\tactiveCursor?: Cursor\n\tonChange?: (delta: Coords) => void\n\tonEnd?: (delta: Coords) => void\n}\n\nexport function usePointerMovement(props?: UsePointerMovementProps) {\n\tconst pointerTypeRef = useRef<'mouse' | 'pointer' | 'touch'>('pointer'),\n\t\t[isTracking, setIsTracking] = useState(false),\n\t\t[delta, setDelta] = useState<Coords>({ x: 0, y: 0 }),\n\t\tstartCoordsRef = useRef<Coords>({ x: 0, y: 0 })\n\n\tconst styleID = useId()\n\n\tconst changeCursor = (cursor: Cursor | false) => {\n\t\tif (cursor === false) {\n\t\t\tdocument.querySelector<HTMLStyleElement>(`#${styleID}`)?.remove()\n\t\t\treturn\n\t\t}\n\n\t\tconst css = `*, *:active { cursor: ${cursor}; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }`\n\n\t\tconst style = document.createElement('style')\n\n\t\tstyle.id = styleID\n\t\tstyle.innerHTML = css\n\n\t\tdocument.body.prepend(style)\n\t}\n\n\tconst trackPointerMovement = (\n\t\te: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement> | React.TouchEvent<HTMLElement>,\n\t) => {\n\t\tchangeCursor(props?.activeCursor || 'grabbing')\n\n\t\tconst { type } = e\n\n\t\tswitch (type) {\n\t\t\tcase 'mousemove':\n\t\t\tcase 'mouseup':\n\t\t\tcase 'pointermove':\n\t\t\tcase 'pointerup':\n\t\t\tcase 'touchmove':\n\t\t\tcase 'touchend':\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'To initiate the tracking of pointer movement, you must use a `mousedown`, `pointerdown`, or `touchstart`.',\n\t\t\t\t)\n\t\t\tcase 'mousedown':\n\t\t\t\tpointerTypeRef.current = 'mouse'\n\t\t\t\tbreak\n\t\t\tcase 'pointerdown':\n\t\t\t\tpointerTypeRef.current = 'pointer'\n\t\t\t\tbreak\n\t\t\tcase 'touchstart':\n\t\t\t\tpointerTypeRef.current = 'touch'\n\t\t\t\tbreak\n\t\t}\n\n\t\tlet x = 0,\n\t\t\ty = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tx = touches[0].clientX\n\t\t\ty = touches[0].clientY\n\t\t} else {\n\t\t\tx = e.clientX\n\t\t\ty = e.clientY\n\t\t}\n\n\t\tstartCoordsRef.current = { x, y }\n\t\tsetIsTracking(true)\n\t}\n\n\tconst updateDelta = useCallback((e: MouseEvent | PointerEvent | TouchEvent) => {\n\t\tlet clientX = 0,\n\t\t\tclientY = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tclientX = touches[0].clientX\n\t\t\tclientY = touches[0].clientY\n\t\t} else {\n\t\t\tclientX = e.clientX\n\t\t\tclientY = e.clientY\n\t\t}\n\n\t\tconst { x, y } = startCoordsRef.current,\n\t\t\tnewDelta = { x: clientX - x, y: clientY - y }\n\n\t\tsetDelta(newDelta)\n\t\tprops?.onChange?.(newDelta)\n\t}, [])\n\n\tconst stopTracking = useCallback(() => {\n\t\tchangeCursor(false)\n\t\tsetIsTracking(false)\n\t\tprops?.onEnd?.(delta)\n\t}, [delta])\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst controller = new AbortController(),\n\t\t\tsignal = controller.signal\n\n\t\tif (isTracking) {\n\t\t\tswitch (pointerTypeRef.current) {\n\t\t\t\tcase 'mouse':\n\t\t\t\t\tdocument.body.addEventListener('mousemove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('mouseup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'pointer':\n\t\t\t\t\tdocument.body.addEventListener('pointermove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('pointerup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'touch':\n\t\t\t\t\tdocument.body.addEventListener('touchmove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('touchend', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tcontroller.abort()\n\t\t}\n\n\t\treturn () => {\n\t\t\tcontroller.abort()\n\t\t}\n\t}, [isTracking, updateDelta, stopTracking])\n\n\treturn { delta, stopTracking, trackPointerMovement }\n}\n"],"names":["_jsx","Provider","useStore"],"mappings":"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"}
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../src/hooks/create-fast-context.tsx","../src/hooks/use-form-context.tsx","../src/hooks/use-fieldset-context.tsx","../src/hooks/use-form-status.tsx","../src/hooks/use-pointer-movement.ts"],"sourcesContent":["// * React\nimport { HTMLAttributes, useRef, createContext, useContext, useSyncExternalStore } from 'react'\n\nexport function createFastContext<Store>(defaultInitialState: Store) {\n\tfunction useStoreData(initialState: Store = defaultInitialState): {\n\t\tget: () => Store\n\t\tset: (value: Store | ((prevState: Store) => Store)) => void\n\t\tsubscribe: (callback: () => void) => () => void\n\t} {\n\t\tconst store = useRef(initialState),\n\t\t\tget = () => store.current,\n\t\t\tsubscribers = useRef(new Set<() => void>())\n\n\t\tconst set = (value: Store | ((prevState: Store) => Store)) => {\n\t\t\tif (typeof value === 'function') {\n\t\t\t\tstore.current = (value as (prevState: Store) => Store)(store.current)\n\t\t\t} else {\n\t\t\t\tstore.current = value\n\t\t\t}\n\t\t\tsubscribers.current.forEach(callback => callback())\n\t\t}\n\n\t\tconst subscribe = (callback: () => void) => {\n\t\t\tsubscribers.current.add(callback)\n\t\t\treturn () => subscribers.current.delete(callback)\n\t\t}\n\n\t\treturn {\n\t\t\tget,\n\t\t\tset,\n\t\t\tsubscribe,\n\t\t}\n\t}\n\n\ttype UseStoreDataReturnType = ReturnType<typeof useStoreData>\n\n\tconst StoreContext = createContext<UseStoreDataReturnType | null>(null)\n\n\tfunction Provider({\n\t\tinitialValue = defaultInitialState,\n\t\t...props\n\t}: Pick<HTMLAttributes<HTMLElement>, 'children'> & { initialValue?: Store }) {\n\t\treturn <StoreContext.Provider value={useStoreData(initialValue)} {...props} />\n\t}\n\n\tfunction useStore<SelectorOutput>(\n\t\tselector: (store: Store) => SelectorOutput,\n\t\tinitialValue?: Store,\n\t): [SelectorOutput | undefined, ((value: Store | ((prevState: Store) => Store)) => void) | undefined] {\n\t\tconst store = useContext(StoreContext)\n\n\t\tif (!store) {\n\t\t\tconst localStoreValue = initialValue !== undefined ? initialValue : defaultInitialState\n\n\t\t\tconst selectedValue = selector(localStoreValue)\n\t\t\tconst noOpSet = () => console.warn('Attempting to set store value outside of Provider')\n\n\t\t\treturn [selectedValue, noOpSet]\n\t\t}\n\n\t\tconst state = useSyncExternalStore(\n\t\t\tstore.subscribe,\n\t\t\t() => selector(store.get()),\n\t\t\t() => selector(initialValue !== undefined ? initialValue : defaultInitialState),\n\t\t)\n\n\t\treturn [state, store.set]\n\t}\n\n\treturn {\n\t\tProvider,\n\t\tuseStore,\n\t}\n}\n","// * Types\nexport type FieldType = 'array' | 'email' | 'file' | 'number' | 'object' | 'string' | 'tel' | 'textarea' | 'url'\n\nexport type StringField = {\n\ttype: 'email' | 'file' | 'number' | 'string' | 'tel' | 'textarea' | 'url'\n\tvalue: string\n}\n\nexport type ObjectField = { type: 'object'; fields: Field[] }\n\nexport type ArrayField = { type: 'array'; of: ArrayObjectOrNormalField[] }\n\ntype ArrayObjectOrNormalField = StringField | ArrayField | ObjectField\n\nexport type Field<T extends StringField | ArrayField | ObjectField = ArrayObjectOrNormalField> = T & {\n\tid: string\n\tname: string\n\trequired?: boolean\n\tinvalid?: boolean\n}\n\nexport type FormContext = Field[]\n\n// * React\nimport { ReactNode, useCallback } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\n/**\n * # Define Field\n *\n * This is a helper function to define a field in a form context with type safety.\n */\nexport function defineField(fieldDefinition: Field) {\n\treturn fieldDefinition\n}\n\nexport function isStringField(field: Field) {\n\treturn Boolean(field.type !== 'object' && field.type !== 'array')\n}\n\nconst { Provider, useStore } = createFastContext<FormContext>([])\n\nexport function FormContextProvider({ children }: { children?: ReactNode }) {\n\treturn <Provider>{children}</Provider>\n}\n\nexport function useFormContext() {\n\tconst [formContext, setFormContext] = useStore(store => store)\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst otherFields = (prevContext || []).filter(otherField => otherField.id !== field.id)\n\n\t\t\treturn [...otherFields, field]\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFormContext?.(prevContext => (prevContext || []).filter(field => field.id !== fieldID))\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst field = prevContext.find(({ id }) => id === fieldID)\n\n\t\t\tif (!field) throw new Error(`Field with id \"${fieldID}\" not found in form context.`)\n\n\t\t\tconst otherFields = prevContext.filter(({ id }) => id !== fieldID)\n\n\t\t\tconst updatedField = { ...field, ...updates } as Field\n\n\t\t\treturn [...otherFields, updatedField]\n\t\t})\n\t}, [])\n\n\treturn [formContext, { registerField, removeField, updateField }] as const\n}\n","// * Types\nimport { defineField, Field, isStringField, StringField, useFormContext } from './use-form-context'\n\nexport type FieldsetContextValue = {\n\tfieldList: Field[]\n\tdecorative: boolean\n\tid: string\n\tjoin?: string\n\tname: string\n}\n\nexport type FieldsetContext = [\n\tFieldsetContextValue | undefined,\n\t{\n\t\tregisterField: (field: Field) => void\n\t\tremoveField: (fieldID: string) => void\n\t\tupdateField: (fieldID: string, updates: Partial<Field>) => void\n\t},\n]\n\n// * React\nimport { FieldsetHTMLAttributes, ReactNode, useCallback, useEffect } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst { Provider, useStore } = createFastContext<FieldsetContextValue | undefined>(undefined)\n\nexport function FieldsetContextProvider({\n\tchildren,\n\tinitialValue,\n}: {\n\tchildren?: ReactNode\n\tinitialValue?: FieldsetContextValue\n}) {\n\treturn <Provider initialValue={initialValue}>{children}</Provider>\n}\n\nexport function useFieldsetContext(): FieldsetContext {\n\tconst [fieldsetContext, setFieldsetContext] = useStore(store => store),\n\t\t[, formContextFunctions] = useFormContext()\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\tconst existingFieldIndex = prev.fieldList.findIndex(existingField => existingField.id === field.id)\n\n\t\t\tconst newFieldList =\n\t\t\t\texistingFieldIndex >= 0\n\t\t\t\t\t? prev.fieldList.map((existingField, index) => (index === existingFieldIndex ? field : existingField))\n\t\t\t\t\t: [...prev.fieldList, field]\n\n\t\t\treturn { ...prev, fieldList: newFieldList }\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.filter(field => field.id !== fieldID),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.map(field => (field.id === fieldID ? ({ ...field, ...updates } as Field) : field)),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst createFormContextEntry = useCallback((fieldsetEntry: FieldsetContextValue): Field => {\n\t\tif (fieldsetEntry.join) {\n\t\t\tconst joinedValue = fieldsetEntry.fieldList\n\t\t\t\t.filter(field => isStringField(field) && (field as Field<StringField>).value !== '')\n\t\t\t\t.map(field => (field as Field<StringField>).value)\n\t\t\t\t.join(fieldsetEntry.join)\n\n\t\t\treturn defineField({\n\t\t\t\ttype: 'string',\n\t\t\t\tid: fieldsetEntry.id,\n\t\t\t\tname: fieldsetEntry.name,\n\t\t\t\tvalue: joinedValue,\n\t\t\t\trequired: fieldsetEntry.fieldList.some(field => (field as Field<StringField>).required),\n\t\t\t\tinvalid: fieldsetEntry.fieldList.some(field => (field as Field<StringField>).invalid),\n\t\t\t})\n\t\t}\n\n\t\treturn defineField({\n\t\t\ttype: 'object',\n\t\t\tid: fieldsetEntry.id,\n\t\t\tname: fieldsetEntry.name,\n\t\t\tfields: fieldsetEntry.fieldList,\n\t\t})\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!fieldsetContext || fieldsetContext.decorative) return\n\n\t\tconst formContextEntry = createFormContextEntry(fieldsetContext)\n\n\t\tformContextFunctions.registerField(formContextEntry)\n\n\t\treturn () => {\n\t\t\tformContextFunctions.removeField(fieldsetContext.id)\n\t\t}\n\t}, [fieldsetContext, formContextFunctions.registerField, formContextFunctions.removeField, createFormContextEntry])\n\n\treturn [fieldsetContext, { registerField, removeField, updateField }]\n}\n","// * Types\nimport { ReactNode, Suspense } from 'react'\n\nexport type FormStatus = 'error' | 'incomplete' | 'loading' | 'ready' | 'success' | 'readonly'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst DEFAULT_STATUS: FormStatus = 'incomplete'\n\nconst { Provider, useStore } = createFastContext<FormStatus>(DEFAULT_STATUS)\n\nexport function FormStatusProvider({\n\tchildren,\n\tinitialStatus = DEFAULT_STATUS,\n}: {\n\tchildren?: ReactNode\n\tinitialStatus?: FormStatus\n}) {\n\treturn (\n\t\t<Suspense>\n\t\t\t<Provider initialValue={initialStatus}>{children}</Provider>\n\t\t</Suspense>\n\t)\n}\n\nexport function useFormStatus() {\n\treturn useStore(store => store)\n}\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react'\n\nexport type Coords = { x: number; y: number }\n\nexport type Cursor =\n\t| 'alias'\n\t| 'all-scroll'\n\t| 'auto'\n\t| 'cell'\n\t| 'col-resize'\n\t| 'context-menu'\n\t| 'copy'\n\t| 'crosshair'\n\t| 'default'\n\t| 'e-resize'\n\t| 'ew-resize'\n\t| 'grab'\n\t| 'grabbing'\n\t| 'help'\n\t| 'move'\n\t| 'no-drop'\n\t| 'not-allowed'\n\t| 'n-resize'\n\t| 'ne-resize'\n\t| 'nw-resize'\n\t| 'ns-resize'\n\t| 'nesw-resize'\n\t| 'nwse-resize'\n\t| 'pointer'\n\t| 'progress'\n\t| 'row-resize'\n\t| 's-resize'\n\t| 'se-resize'\n\t| 'sw-resize'\n\t| 'text'\n\t| 'vertical-text'\n\t| 'w-resize'\n\t| 'wait'\n\t| 'zoom-in'\n\t| 'zoom-out'\n\nexport type UsePointerMovementProps = {\n\tactiveCursor?: Cursor\n\tonChange?: (delta: Coords) => void\n\tonEnd?: (delta: Coords) => void\n}\n\nexport function usePointerMovement(props?: UsePointerMovementProps) {\n\tconst pointerTypeRef = useRef<'mouse' | 'pointer' | 'touch'>('pointer'),\n\t\t[isTracking, setIsTracking] = useState(false),\n\t\t[delta, setDelta] = useState<Coords>({ x: 0, y: 0 }),\n\t\tstartCoordsRef = useRef<Coords>({ x: 0, y: 0 })\n\n\tconst styleID = useId()\n\n\tconst changeCursor = (cursor: Cursor | false) => {\n\t\tif (cursor === false) {\n\t\t\tdocument.querySelector<HTMLStyleElement>(`#${styleID}`)?.remove()\n\t\t\treturn\n\t\t}\n\n\t\tconst css = `*, *:active { cursor: ${cursor}; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }`\n\n\t\tconst style = document.createElement('style')\n\n\t\tstyle.id = styleID\n\t\tstyle.innerHTML = css\n\n\t\tdocument.body.prepend(style)\n\t}\n\n\tconst trackPointerMovement = (\n\t\te: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement> | React.TouchEvent<HTMLElement>,\n\t) => {\n\t\tchangeCursor(props?.activeCursor || 'grabbing')\n\n\t\tconst { type } = e\n\n\t\tswitch (type) {\n\t\t\tcase 'mousemove':\n\t\t\tcase 'mouseup':\n\t\t\tcase 'pointermove':\n\t\t\tcase 'pointerup':\n\t\t\tcase 'touchmove':\n\t\t\tcase 'touchend':\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'To initiate the tracking of pointer movement, you must use a `mousedown`, `pointerdown`, or `touchstart`.',\n\t\t\t\t)\n\t\t\tcase 'mousedown':\n\t\t\t\tpointerTypeRef.current = 'mouse'\n\t\t\t\tbreak\n\t\t\tcase 'pointerdown':\n\t\t\t\tpointerTypeRef.current = 'pointer'\n\t\t\t\tbreak\n\t\t\tcase 'touchstart':\n\t\t\t\tpointerTypeRef.current = 'touch'\n\t\t\t\tbreak\n\t\t}\n\n\t\tlet x = 0,\n\t\t\ty = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tx = touches[0].clientX\n\t\t\ty = touches[0].clientY\n\t\t} else {\n\t\t\tx = e.clientX\n\t\t\ty = e.clientY\n\t\t}\n\n\t\tstartCoordsRef.current = { x, y }\n\t\tsetIsTracking(true)\n\t}\n\n\tconst updateDelta = useCallback((e: MouseEvent | PointerEvent | TouchEvent) => {\n\t\tlet clientX = 0,\n\t\t\tclientY = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tclientX = touches[0].clientX\n\t\t\tclientY = touches[0].clientY\n\t\t} else {\n\t\t\tclientX = e.clientX\n\t\t\tclientY = e.clientY\n\t\t}\n\n\t\tconst { x, y } = startCoordsRef.current,\n\t\t\tnewDelta = { x: clientX - x, y: clientY - y }\n\n\t\tsetDelta(newDelta)\n\t\tprops?.onChange?.(newDelta)\n\t}, [])\n\n\tconst stopTracking = useCallback(() => {\n\t\tchangeCursor(false)\n\t\tsetIsTracking(false)\n\t\tprops?.onEnd?.(delta)\n\t}, [delta])\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst controller = new AbortController(),\n\t\t\tsignal = controller.signal\n\n\t\tif (isTracking) {\n\t\t\tswitch (pointerTypeRef.current) {\n\t\t\t\tcase 'mouse':\n\t\t\t\t\tdocument.body.addEventListener('mousemove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('mouseup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'pointer':\n\t\t\t\t\tdocument.body.addEventListener('pointermove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('pointerup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'touch':\n\t\t\t\t\tdocument.body.addEventListener('touchmove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('touchend', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tcontroller.abort()\n\t\t}\n\n\t\treturn () => {\n\t\t\tcontroller.abort()\n\t\t}\n\t}, [isTracking, updateDelta, stopTracking])\n\n\treturn { delta, stopTracking, trackPointerMovement }\n}\n"],"names":["useRef","createContext","_jsx","useContext","useSyncExternalStore","Provider","useStore","useCallback","useEffect","Suspense","useState","useId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../src/hooks/create-fast-context.tsx","../src/hooks/use-form-context.tsx","../src/hooks/use-fieldset-context.tsx","../src/hooks/use-form-status.tsx","../src/hooks/use-pointer-movement.ts"],"sourcesContent":["// * React\nimport { HTMLAttributes, useRef, createContext, useContext, useSyncExternalStore } from 'react'\n\nexport function createFastContext<Store>(defaultInitialState: Store) {\n\tfunction useStoreData(initialState: Store = defaultInitialState): {\n\t\tget: () => Store\n\t\tset: (value: Store | ((prevState: Store) => Store)) => void\n\t\tsubscribe: (callback: () => void) => () => void\n\t} {\n\t\tconst store = useRef(initialState),\n\t\t\tget = () => store.current,\n\t\t\tsubscribers = useRef(new Set<() => void>())\n\n\t\tconst set = (value: Store | ((prevState: Store) => Store)) => {\n\t\t\tif (typeof value === 'function') {\n\t\t\t\tstore.current = (value as (prevState: Store) => Store)(store.current)\n\t\t\t} else {\n\t\t\t\tstore.current = value\n\t\t\t}\n\t\t\tsubscribers.current.forEach(callback => callback())\n\t\t}\n\n\t\tconst subscribe = (callback: () => void) => {\n\t\t\tsubscribers.current.add(callback)\n\t\t\treturn () => subscribers.current.delete(callback)\n\t\t}\n\n\t\treturn {\n\t\t\tget,\n\t\t\tset,\n\t\t\tsubscribe,\n\t\t}\n\t}\n\n\ttype UseStoreDataReturnType = ReturnType<typeof useStoreData>\n\n\tconst StoreContext = createContext<UseStoreDataReturnType | null>(null)\n\n\tfunction Provider({\n\t\tinitialValue = defaultInitialState,\n\t\t...props\n\t}: Pick<HTMLAttributes<HTMLElement>, 'children'> & { initialValue?: Store }) {\n\t\treturn <StoreContext.Provider value={useStoreData(initialValue)} {...props} />\n\t}\n\n\tfunction useStore<SelectorOutput>(\n\t\tselector: (store: Store) => SelectorOutput,\n\t\tinitialValue?: Store,\n\t): [SelectorOutput | undefined, ((value: Store | ((prevState: Store) => Store)) => void) | undefined] {\n\t\tconst store = useContext(StoreContext)\n\n\t\tif (!store) {\n\t\t\tconst localStoreValue = initialValue !== undefined ? initialValue : defaultInitialState\n\n\t\t\tconst selectedValue = selector(localStoreValue)\n\t\t\tconst noOpSet = () => console.warn('Attempting to set store value outside of Provider')\n\n\t\t\treturn [selectedValue, noOpSet]\n\t\t}\n\n\t\tconst state = useSyncExternalStore(\n\t\t\tstore.subscribe,\n\t\t\t() => selector(store.get()),\n\t\t\t() => selector(initialValue !== undefined ? initialValue : defaultInitialState),\n\t\t)\n\n\t\treturn [state, store.set]\n\t}\n\n\treturn {\n\t\tProvider,\n\t\tuseStore,\n\t}\n}\n","// * Types\nexport type FieldType = 'array' | 'email' | 'file' | 'number' | 'object' | 'string' | 'tel' | 'textarea' | 'url'\n\nexport type StringField = {\n\ttype: 'email' | 'file' | 'number' | 'string' | 'tel' | 'textarea' | 'url'\n\tvalue: string\n\trequired?: boolean\n\tinvalid?: boolean\n}\n\nexport type ObjectField = { type: 'object'; fields: Field[] }\n\nexport type ArrayField = { type: 'array'; of: ArrayObjectOrNormalField }\n\ntype ArrayObjectOrNormalField = StringField | ArrayField | ObjectField\n\nexport type Field = ArrayObjectOrNormalField & {\n\tid: string\n\tname: string\n}\n\nexport type FormContext = Field[]\n\n// * React\nimport { ReactNode, useCallback } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\n/**\n * # Define Field\n *\n * This is a helper function to define a field in a form context with type safety.\n */\nexport function defineField(fieldDefinition: Field) {\n\treturn fieldDefinition\n}\n\nexport function isStringField(field: Field) {\n\treturn Boolean(field.type !== 'object' && field.type !== 'array')\n}\n\nconst { Provider, useStore } = createFastContext<FormContext>([])\n\nexport function FormContextProvider({ children }: { children?: ReactNode }) {\n\treturn <Provider>{children}</Provider>\n}\n\nexport function useFormContext() {\n\tconst [formContext, setFormContext] = useStore(store => store)\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst otherFields = (prevContext || []).filter(otherField => otherField.id !== field.id)\n\n\t\t\treturn [...otherFields, field]\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFormContext?.(prevContext => (prevContext || []).filter(field => field.id !== fieldID))\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFormContext?.(prevContext => {\n\t\t\tconst field = prevContext.find(({ id }) => id === fieldID)\n\n\t\t\tif (!field) throw new Error(`Field with id \"${fieldID}\" not found in form context.`)\n\n\t\t\tconst otherFields = prevContext.filter(({ id }) => id !== fieldID)\n\n\t\t\tconst updatedField = { ...field, ...updates } as Field\n\n\t\t\treturn [...otherFields, updatedField]\n\t\t})\n\t}, [])\n\n\treturn [formContext, { registerField, removeField, updateField }] as const\n}\n","// * Types\nimport { defineField, Field, isStringField, StringField, useFormContext } from './use-form-context'\n\nexport type FieldsetContextValue = {\n\tfieldList: Field[]\n\tdecorative: boolean\n\tid: string\n\tjoin?: string\n\tname: string\n}\n\nexport type FieldsetContext = [\n\tFieldsetContextValue | undefined,\n\t{\n\t\tregisterField: (field: Field) => void\n\t\tremoveField: (fieldID: string) => void\n\t\tupdateField: (fieldID: string, updates: Partial<Field>) => void\n\t},\n]\n\n// * React\nimport { ReactNode, useCallback, useEffect } from 'react'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst { Provider, useStore } = createFastContext<FieldsetContextValue | undefined>(undefined)\n\nexport function FieldsetContextProvider({\n\tchildren,\n\tinitialValue,\n}: {\n\tchildren?: ReactNode\n\tinitialValue?: FieldsetContextValue\n}) {\n\treturn <Provider initialValue={initialValue}>{children}</Provider>\n}\n\nexport function useFieldsetContext(): FieldsetContext {\n\tconst [fieldsetContext, setFieldsetContext] = useStore(store => store),\n\t\t[, formContextFunctions] = useFormContext()\n\n\tconst registerField = useCallback((field: Field) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\tconst existingFieldIndex = prev.fieldList.findIndex(existingField => existingField.id === field.id)\n\n\t\t\tconst newFieldList =\n\t\t\t\texistingFieldIndex >= 0\n\t\t\t\t\t? prev.fieldList.map((existingField, index) => (index === existingFieldIndex ? field : existingField))\n\t\t\t\t\t: [...prev.fieldList, field]\n\n\t\t\treturn { ...prev, fieldList: newFieldList }\n\t\t})\n\t}, [])\n\n\tconst removeField = useCallback((fieldID: string) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.filter(field => field.id !== fieldID),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst updateField = useCallback((fieldID: string, updates: Partial<Field>) => {\n\t\tsetFieldsetContext?.(prev => {\n\t\t\tif (!prev) return prev\n\n\t\t\treturn {\n\t\t\t\t...prev,\n\t\t\t\tfieldList: prev.fieldList.map(field => (field.id === fieldID ? ({ ...field, ...updates } as Field) : field)),\n\t\t\t}\n\t\t})\n\t}, [])\n\n\tconst createFormContextEntry = useCallback((fieldsetEntry: FieldsetContextValue): Field => {\n\t\tif (fieldsetEntry.join) {\n\t\t\tconst joinedValue = fieldsetEntry.fieldList\n\t\t\t\t.filter(field => isStringField(field) && (field as StringField).value !== '')\n\t\t\t\t.map(field => (field as StringField).value)\n\t\t\t\t.join(fieldsetEntry.join)\n\n\t\t\treturn defineField({\n\t\t\t\ttype: 'string',\n\t\t\t\tid: fieldsetEntry.id,\n\t\t\t\tname: fieldsetEntry.name,\n\t\t\t\tvalue: joinedValue,\n\t\t\t\trequired: fieldsetEntry.fieldList.some(field => (field as StringField).required),\n\t\t\t\tinvalid: fieldsetEntry.fieldList.some(field => (field as StringField).invalid),\n\t\t\t})\n\t\t}\n\n\t\treturn defineField({\n\t\t\ttype: 'object',\n\t\t\tid: fieldsetEntry.id,\n\t\t\tname: fieldsetEntry.name,\n\t\t\tfields: fieldsetEntry.fieldList,\n\t\t})\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!fieldsetContext || fieldsetContext.decorative) return\n\n\t\tconst formContextEntry = createFormContextEntry(fieldsetContext)\n\n\t\tformContextFunctions.registerField(formContextEntry)\n\n\t\treturn () => {\n\t\t\tformContextFunctions.removeField(fieldsetContext.id)\n\t\t}\n\t}, [fieldsetContext, formContextFunctions.registerField, formContextFunctions.removeField, createFormContextEntry])\n\n\treturn [fieldsetContext, { registerField, removeField, updateField }]\n}\n","// * Types\nimport { ReactNode, Suspense } from 'react'\n\nexport type FormStatus = 'error' | 'incomplete' | 'loading' | 'ready' | 'success' | 'readonly'\n\n// * Hooks\nimport { createFastContext } from './create-fast-context'\n\nconst DEFAULT_STATUS: FormStatus = 'incomplete'\n\nconst { Provider, useStore } = createFastContext<FormStatus>(DEFAULT_STATUS)\n\nexport function FormStatusProvider({\n\tchildren,\n\tinitialStatus = DEFAULT_STATUS,\n}: {\n\tchildren?: ReactNode\n\tinitialStatus?: FormStatus\n}) {\n\treturn (\n\t\t<Suspense>\n\t\t\t<Provider initialValue={initialStatus}>{children}</Provider>\n\t\t</Suspense>\n\t)\n}\n\nexport function useFormStatus() {\n\treturn useStore(store => store)\n}\n","import React, { useCallback, useEffect, useId, useRef, useState } from 'react'\n\nexport type Coords = { x: number; y: number }\n\nexport type Cursor =\n\t| 'alias'\n\t| 'all-scroll'\n\t| 'auto'\n\t| 'cell'\n\t| 'col-resize'\n\t| 'context-menu'\n\t| 'copy'\n\t| 'crosshair'\n\t| 'default'\n\t| 'e-resize'\n\t| 'ew-resize'\n\t| 'grab'\n\t| 'grabbing'\n\t| 'help'\n\t| 'move'\n\t| 'no-drop'\n\t| 'not-allowed'\n\t| 'n-resize'\n\t| 'ne-resize'\n\t| 'nw-resize'\n\t| 'ns-resize'\n\t| 'nesw-resize'\n\t| 'nwse-resize'\n\t| 'pointer'\n\t| 'progress'\n\t| 'row-resize'\n\t| 's-resize'\n\t| 'se-resize'\n\t| 'sw-resize'\n\t| 'text'\n\t| 'vertical-text'\n\t| 'w-resize'\n\t| 'wait'\n\t| 'zoom-in'\n\t| 'zoom-out'\n\nexport type UsePointerMovementProps = {\n\tactiveCursor?: Cursor\n\tonChange?: (delta: Coords) => void\n\tonEnd?: (delta: Coords) => void\n}\n\nexport function usePointerMovement(props?: UsePointerMovementProps) {\n\tconst pointerTypeRef = useRef<'mouse' | 'pointer' | 'touch'>('pointer'),\n\t\t[isTracking, setIsTracking] = useState(false),\n\t\t[delta, setDelta] = useState<Coords>({ x: 0, y: 0 }),\n\t\tstartCoordsRef = useRef<Coords>({ x: 0, y: 0 })\n\n\tconst styleID = useId()\n\n\tconst changeCursor = (cursor: Cursor | false) => {\n\t\tif (cursor === false) {\n\t\t\tdocument.querySelector<HTMLStyleElement>(`#${styleID}`)?.remove()\n\t\t\treturn\n\t\t}\n\n\t\tconst css = `*, *:active { cursor: ${cursor}; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; }`\n\n\t\tconst style = document.createElement('style')\n\n\t\tstyle.id = styleID\n\t\tstyle.innerHTML = css\n\n\t\tdocument.body.prepend(style)\n\t}\n\n\tconst trackPointerMovement = (\n\t\te: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement> | React.TouchEvent<HTMLElement>,\n\t) => {\n\t\tchangeCursor(props?.activeCursor || 'grabbing')\n\n\t\tconst { type } = e\n\n\t\tswitch (type) {\n\t\t\tcase 'mousemove':\n\t\t\tcase 'mouseup':\n\t\t\tcase 'pointermove':\n\t\t\tcase 'pointerup':\n\t\t\tcase 'touchmove':\n\t\t\tcase 'touchend':\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'To initiate the tracking of pointer movement, you must use a `mousedown`, `pointerdown`, or `touchstart`.',\n\t\t\t\t)\n\t\t\tcase 'mousedown':\n\t\t\t\tpointerTypeRef.current = 'mouse'\n\t\t\t\tbreak\n\t\t\tcase 'pointerdown':\n\t\t\t\tpointerTypeRef.current = 'pointer'\n\t\t\t\tbreak\n\t\t\tcase 'touchstart':\n\t\t\t\tpointerTypeRef.current = 'touch'\n\t\t\t\tbreak\n\t\t}\n\n\t\tlet x = 0,\n\t\t\ty = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tx = touches[0].clientX\n\t\t\ty = touches[0].clientY\n\t\t} else {\n\t\t\tx = e.clientX\n\t\t\ty = e.clientY\n\t\t}\n\n\t\tstartCoordsRef.current = { x, y }\n\t\tsetIsTracking(true)\n\t}\n\n\tconst updateDelta = useCallback((e: MouseEvent | PointerEvent | TouchEvent) => {\n\t\tlet clientX = 0,\n\t\t\tclientY = 0\n\n\t\tif ('touches' in e) {\n\t\t\tconst { touches } = e\n\n\t\t\tif (touches.length > 1) return\n\n\t\t\tclientX = touches[0].clientX\n\t\t\tclientY = touches[0].clientY\n\t\t} else {\n\t\t\tclientX = e.clientX\n\t\t\tclientY = e.clientY\n\t\t}\n\n\t\tconst { x, y } = startCoordsRef.current,\n\t\t\tnewDelta = { x: clientX - x, y: clientY - y }\n\n\t\tsetDelta(newDelta)\n\t\tprops?.onChange?.(newDelta)\n\t}, [])\n\n\tconst stopTracking = useCallback(() => {\n\t\tchangeCursor(false)\n\t\tsetIsTracking(false)\n\t\tprops?.onEnd?.(delta)\n\t}, [delta])\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return\n\n\t\tconst controller = new AbortController(),\n\t\t\tsignal = controller.signal\n\n\t\tif (isTracking) {\n\t\t\tswitch (pointerTypeRef.current) {\n\t\t\t\tcase 'mouse':\n\t\t\t\t\tdocument.body.addEventListener('mousemove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('mouseup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'pointer':\n\t\t\t\t\tdocument.body.addEventListener('pointermove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('pointerup', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t\tcase 'touch':\n\t\t\t\t\tdocument.body.addEventListener('touchmove', updateDelta, { signal })\n\t\t\t\t\tdocument.body.addEventListener('touchend', stopTracking, { signal })\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t} else {\n\t\t\tcontroller.abort()\n\t\t}\n\n\t\treturn () => {\n\t\t\tcontroller.abort()\n\t\t}\n\t}, [isTracking, updateDelta, stopTracking])\n\n\treturn { delta, stopTracking, trackPointerMovement }\n}\n"],"names":["useRef","createContext","_jsx","useContext","useSyncExternalStore","Provider","useStore","useCallback","useEffect","Suspense","useState","useId"],"mappings":"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"}
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -1,144 +1,143 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
14
|
-
export * from
|
|
15
|
-
export * from
|
|
16
|
-
export * from
|
|
17
|
-
export * from
|
|
18
|
-
export * from
|
|
19
|
-
export * from
|
|
20
|
-
export * from
|
|
21
|
-
export * from
|
|
22
|
-
export * from
|
|
23
|
-
export * from
|
|
24
|
-
export * from
|
|
25
|
-
export * from
|
|
26
|
-
export * from
|
|
27
|
-
export * from
|
|
28
|
-
export * from
|
|
29
|
-
export * from
|
|
30
|
-
export * from
|
|
31
|
-
export * from
|
|
32
|
-
export * from
|
|
33
|
-
export * from
|
|
34
|
-
export * from
|
|
35
|
-
export * from
|
|
36
|
-
export * from
|
|
37
|
-
export * from
|
|
38
|
-
export * from
|
|
39
|
-
export * from
|
|
40
|
-
export * from
|
|
41
|
-
export * from
|
|
42
|
-
export * from
|
|
43
|
-
export * from
|
|
44
|
-
export * from
|
|
45
|
-
export * from
|
|
46
|
-
export * from
|
|
47
|
-
export * from
|
|
48
|
-
export * from
|
|
49
|
-
export * from
|
|
50
|
-
export * from
|
|
51
|
-
export * from
|
|
52
|
-
export * from
|
|
53
|
-
export * from
|
|
54
|
-
export * from
|
|
55
|
-
export * from
|
|
56
|
-
export * from
|
|
57
|
-
export * from
|
|
58
|
-
export * from
|
|
59
|
-
export * from
|
|
60
|
-
export * from
|
|
61
|
-
export * from
|
|
62
|
-
export * from
|
|
63
|
-
export * from
|
|
64
|
-
export * from
|
|
65
|
-
export * from
|
|
66
|
-
export * from
|
|
67
|
-
export * from
|
|
68
|
-
export * from
|
|
69
|
-
export * from
|
|
70
|
-
export * from
|
|
71
|
-
export * from
|
|
72
|
-
export * from
|
|
73
|
-
export * from
|
|
74
|
-
export * from
|
|
75
|
-
export * from
|
|
76
|
-
export * from
|
|
77
|
-
export * from
|
|
78
|
-
export * from
|
|
79
|
-
export * from
|
|
80
|
-
export * from
|
|
81
|
-
export * from
|
|
82
|
-
export * from
|
|
83
|
-
export * from
|
|
84
|
-
export * from
|
|
85
|
-
export * from
|
|
86
|
-
export * from
|
|
87
|
-
export * from
|
|
88
|
-
export * from
|
|
89
|
-
export * from
|
|
90
|
-
export * from
|
|
91
|
-
export * from
|
|
92
|
-
export * from
|
|
93
|
-
export * from
|
|
94
|
-
export * from
|
|
95
|
-
export * from
|
|
96
|
-
export * from
|
|
97
|
-
export * from
|
|
98
|
-
export * from
|
|
99
|
-
export * from
|
|
100
|
-
export * from
|
|
101
|
-
export * from
|
|
102
|
-
export * from
|
|
103
|
-
export * from
|
|
104
|
-
export * from
|
|
105
|
-
export * from
|
|
106
|
-
export * from
|
|
107
|
-
export * from
|
|
108
|
-
export * from
|
|
109
|
-
export * from
|
|
110
|
-
export * from
|
|
111
|
-
export * from
|
|
112
|
-
export * from
|
|
113
|
-
export * from
|
|
114
|
-
export * from
|
|
115
|
-
export * from
|
|
116
|
-
export * from
|
|
117
|
-
export * from
|
|
118
|
-
export * from
|
|
119
|
-
export * from
|
|
120
|
-
export * from
|
|
121
|
-
export * from
|
|
122
|
-
export * from
|
|
123
|
-
export * from
|
|
124
|
-
export * from
|
|
125
|
-
export * from
|
|
126
|
-
export * from
|
|
127
|
-
export * from
|
|
128
|
-
export * from
|
|
129
|
-
export * from
|
|
130
|
-
export * from
|
|
131
|
-
export * from
|
|
132
|
-
export * from
|
|
133
|
-
export * from
|
|
134
|
-
export * from
|
|
135
|
-
export * from
|
|
136
|
-
export * from
|
|
137
|
-
export * from
|
|
138
|
-
export * from
|
|
139
|
-
export * from
|
|
140
|
-
export * from
|
|
141
|
-
export * from
|
|
142
|
-
export * from
|
|
143
|
-
export * from './xmark';
|
|
1
|
+
export * from "./airplane";
|
|
2
|
+
export * from "./arrow-down-backward-and-arrow-up-forward-rectangle";
|
|
3
|
+
export * from "./arrow-triangle-2-circlepath-circle";
|
|
4
|
+
export * from "./arrow-triangle-2-circlepath-circle-fill";
|
|
5
|
+
export * from "./arrow-up-forward-and-arrow-down-backward-rectangle";
|
|
6
|
+
export * from "./bag-fill";
|
|
7
|
+
export * from "./banknote";
|
|
8
|
+
export * from "./bell-fill";
|
|
9
|
+
export * from "./bolt-car";
|
|
10
|
+
export * from "./bolt-fill";
|
|
11
|
+
export * from "./bolt-ring-closed";
|
|
12
|
+
export * from "./bolt-trianglebadge-exclamationmark";
|
|
13
|
+
export * from "./book-fill";
|
|
14
|
+
export * from "./bookmark-fill";
|
|
15
|
+
export * from "./briefcase-fill";
|
|
16
|
+
export * from "./bubble-left-fill";
|
|
17
|
+
export * from "./building-2-fill";
|
|
18
|
+
export * from "./calendar";
|
|
19
|
+
export * from "./camera-fill";
|
|
20
|
+
export * from "./car-fill";
|
|
21
|
+
export * from "./cart-fill";
|
|
22
|
+
export * from "./chart-bar-doc-horizontal";
|
|
23
|
+
export * from "./checkmark";
|
|
24
|
+
export * from "./checkmark-seal";
|
|
25
|
+
export * from "./chevron-compact-down";
|
|
26
|
+
export * from "./chevron-down";
|
|
27
|
+
export * from "./chevron-left";
|
|
28
|
+
export * from "./chevron-left-forwardslash-chevron-right";
|
|
29
|
+
export * from "./chevron-right";
|
|
30
|
+
export * from "./chevron-up-chevron-down";
|
|
31
|
+
export * from "./circle-fill";
|
|
32
|
+
export * from "./clock-badge-checkmark";
|
|
33
|
+
export * from "./clock-fill";
|
|
34
|
+
export * from "./cloud-fill";
|
|
35
|
+
export * from "./cube-fill";
|
|
36
|
+
export * from "./curve-point-left";
|
|
37
|
+
export * from "./dial-high";
|
|
38
|
+
export * from "./doc-fill";
|
|
39
|
+
export * from "./doc-on-clipboard";
|
|
40
|
+
export * from "./doc-on-doc";
|
|
41
|
+
export * from "./doc-on-doc-fill";
|
|
42
|
+
export * from "./doc-text-magnifyingglass";
|
|
43
|
+
export * from "./dollar-sign";
|
|
44
|
+
export * from "./ellipsis-circle";
|
|
45
|
+
export * from "./ellipsis-circle-fill";
|
|
46
|
+
export * from "./envelope";
|
|
47
|
+
export * from "./envelope-fill";
|
|
48
|
+
export * from "./eye";
|
|
49
|
+
export * from "./exclamationmark-octagon";
|
|
50
|
+
export * from "./figure-water-fitness";
|
|
51
|
+
export * from "./15-arrow-trianglehead-clockwise";
|
|
52
|
+
export * from "./15-arrow-trianglehead-counterclockwise";
|
|
53
|
+
export * from "./5-arrow-trianglehead-clockwise";
|
|
54
|
+
export * from "./5-arrow-trianglehead-counterclockwise";
|
|
55
|
+
export * from "./45-arrow-trianglehead-clockwise";
|
|
56
|
+
export * from "./45-arrow-trianglehead-counterclockwise";
|
|
57
|
+
export * from "./flag-fill";
|
|
58
|
+
export * from "./flame-fill";
|
|
59
|
+
export * from "./folder";
|
|
60
|
+
export * from "./folder-fill";
|
|
61
|
+
export * from "./gearshape";
|
|
62
|
+
export * from "./gearshape-fill";
|
|
63
|
+
export * from "./gift-fill";
|
|
64
|
+
export * from "./globe-americas-fill";
|
|
65
|
+
export * from "./hare-fill";
|
|
66
|
+
export * from "./house";
|
|
67
|
+
export * from "./house-deskclock";
|
|
68
|
+
export * from "./house-fill";
|
|
69
|
+
export * from "./iphone-house";
|
|
70
|
+
export * from "./lightbulb-fill";
|
|
71
|
+
export * from "./lightbulb-led";
|
|
72
|
+
export * from "./light-ribbon";
|
|
73
|
+
export * from "./list-bullet-clipboard-fill";
|
|
74
|
+
export * from "./magnifyingglass";
|
|
75
|
+
export * from "./map-pin-ellipse";
|
|
76
|
+
export * from "./minus-plus-batterblock";
|
|
77
|
+
export * from "./network";
|
|
78
|
+
export * from "./network-shield";
|
|
79
|
+
export * from "./newspaper-fill";
|
|
80
|
+
export * from "./90-arrow-trianglehead-clockwise";
|
|
81
|
+
export * from "./90-arrow-trianglehead-counterclockwise";
|
|
82
|
+
export * from "./number";
|
|
83
|
+
export * from "./paperplane-fill";
|
|
84
|
+
export * from "./pause-fill";
|
|
85
|
+
export * from "./person";
|
|
86
|
+
export * from "./person-crop-square";
|
|
87
|
+
export * from "./person-fill";
|
|
88
|
+
export * from "./person-fill-questionmark";
|
|
89
|
+
export * from "./phone";
|
|
90
|
+
export * from "./phone-arrow-up-right";
|
|
91
|
+
export * from "./phone-fill";
|
|
92
|
+
export * from "./photo-badge-arrow-down";
|
|
93
|
+
export * from "./photo-badge-arrow-down-fill";
|
|
94
|
+
export * from "./play-fill";
|
|
95
|
+
export * from "./play-rectangle-fill";
|
|
96
|
+
export * from "./plus";
|
|
97
|
+
export * from "./qrcode";
|
|
98
|
+
export * from "./rectangle";
|
|
99
|
+
export * from "./rectangle-fill";
|
|
100
|
+
export * from "./rectangle-fill-on-arrow-down-forward-topleading-rectangle";
|
|
101
|
+
export * from "./rectangle-portrait-and-arrow-left";
|
|
102
|
+
export * from "./rectangle-portrait-and-arrow-left-fill";
|
|
103
|
+
export * from "./rectangle-triangle-up";
|
|
104
|
+
export * from "./sensor";
|
|
105
|
+
export * from "./75-arrow-trianglehead-clockwise";
|
|
106
|
+
export * from "./75-arrow-trianglehead-counterclockwise";
|
|
107
|
+
export * from "./signature";
|
|
108
|
+
export * from "./60-arrow-trianglehead-clockwise";
|
|
109
|
+
export * from "./60-arrow-trianglehead-counterclockwise";
|
|
110
|
+
export * from "./solar-panel";
|
|
111
|
+
export * from "./speaker";
|
|
112
|
+
export * from "./speaker-fill";
|
|
113
|
+
export * from "./speaker-minus";
|
|
114
|
+
export * from "./speaker-minus-fill";
|
|
115
|
+
export * from "./speaker-plus";
|
|
116
|
+
export * from "./speaker-plus-fill";
|
|
117
|
+
export * from "./speaker-slash";
|
|
118
|
+
export * from "./speaker-slash-fill";
|
|
119
|
+
export * from "./speaker-wave-1";
|
|
120
|
+
export * from "./speaker-wave-1-fill";
|
|
121
|
+
export * from "./speaker-wave-2";
|
|
122
|
+
export * from "./speaker-wave-2-fill";
|
|
123
|
+
export * from "./speaker-wave-3";
|
|
124
|
+
export * from "./speaker-wave-3-fill";
|
|
125
|
+
export * from "./square-and-arrow-down";
|
|
126
|
+
export * from "./square-and-arrow-down-fill";
|
|
127
|
+
export * from "./square-and-arrow-up";
|
|
128
|
+
export * from "./square-and-arrow-up-fill";
|
|
129
|
+
export * from "./square-and-pencil";
|
|
130
|
+
export * from "./10-arrow-trianglehead-clockwise";
|
|
131
|
+
export * from "./10-arrow-trianglehead-counterclockwise";
|
|
132
|
+
export * from "./30-arrow-trianglehead-clockwise";
|
|
133
|
+
export * from "./30-arrow-trianglehead-counterclockwise";
|
|
134
|
+
export * from "./text-bubble";
|
|
135
|
+
export * from "./3-people";
|
|
136
|
+
export * from "./3-rectangles-desktop";
|
|
137
|
+
export * from "./3-rectangles-desktop-fill";
|
|
138
|
+
export * from "./trash";
|
|
139
|
+
export * from "./trash-fill";
|
|
140
|
+
export * from "./tree";
|
|
141
|
+
export * from "./umbrella-fill";
|
|
142
|
+
export * from "./xmark";
|
|
144
143
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"square-and-arrow-up-right.d.ts","sourceRoot":"","sources":["../../src/icons/square-and-arrow-up-right.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE9C,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,2CAQpD"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ComponentPropsWithRef } from
|
|
2
|
-
export declare function SquareAndPencil(props: Omit<ComponentPropsWithRef<
|
|
1
|
+
import { ComponentPropsWithRef } from "react";
|
|
2
|
+
export declare function SquareAndPencil(props: Omit<ComponentPropsWithRef<"svg">, "viewBox">): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=square-and-pencil.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"square-and-pencil.d.ts","sourceRoot":"","sources":["../../src/icons/square-and-pencil.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"square-and-pencil.d.ts","sourceRoot":"","sources":["../../src/icons/square-and-pencil.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAE9C,wBAAgB,eAAe,CAC9B,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,2CASpD"}
|