@@ -1 +1 @@
-Subproject commit 271df290cdc23e134735602b12ab1451556197a6
+Subproject commit bc50563f0597a9899f75507e9250497c4dabee08
@@ -32,7 +32,7 @@ import EventClicking from './interactions/EventClicking'
import EventHovering from './interactions/EventHovering'
import StandardTheme from './theme/StandardTheme'
import ComponentContext, { ComponentContextType, buildContext } from './component/ComponentContext'
-import { render, h, createRef } from 'preact'
+import { render, h, createRef } from './vdom'
import { TaskRunner, DelayedRunner } from './util/runner'
import ViewApi from './ViewApi'
@@ -13,7 +13,7 @@ import { DateMarker } from './datelib/marker'
import { CalendarState } from './reducers/types'
import { ViewPropsTransformerClass } from './plugin-system'
import { __assign } from 'tslib'
-import { h, Fragment, createRef } from 'preact'
+import { h, Fragment, createRef } from './vdom'
import { BaseComponent, subrenderer } from './view-framework-util'
import { buildDelegationHandler } from './util/dom-event'
import { capitaliseFirstLetter } from './util/misc'
@@ -1,4 +1,4 @@
-import { h, createRef } from 'preact'
+import { h, createRef } from './vdom'
import { BaseComponent } from './view-framework-util'
import { ToolbarModel, ToolbarWidget } from './toolbar-parse'
@@ -4,8 +4,8 @@ import { DateMarker } from '../datelib/marker'
import { DateProfile } from '../DateProfileGenerator'
import { createFormatter } from '../datelib/formatting'
import { computeFallbackHeaderFormat } from './table-utils'
-import { VNode, h, createRef } from 'preact'
-import { TableDateCell } from '@fullcalendar/core'
+import { VNode, h, createRef } from '../vdom'
+import TableDateCell from './TableDateCell'
export interface DayHeaderProps {
dates: DateMarker[]
@@ -1,6 +1,6 @@
import { computeEdges } from '../util/dom-geom'
import { ElementScrollController } from './scroll-controller'
-import { Component, h, ComponentChildren } from 'preact'
+import { Component, h, ComponentChildren } from '../vdom'
export interface ScrollbarWidths {
@@ -4,7 +4,7 @@ import GotoAnchor from '../component/GotoAnchor'
import { DateMarker, DAY_IDS } from '../datelib/marker'
import ComponentContext from '../component/ComponentContext'
-import { h } from 'preact'
+import { h } from '../vdom'
import { DateFormatter } from '../datelib/formatting'
import { BaseComponent } from '../view-framework-util'
@@ -5,7 +5,7 @@ import { DateEnv } from '../datelib/env'
import { parseFieldSpecs } from '../util/misc'
import { createDuration, Duration } from '../datelib/duration'
import { PluginHooks } from '../plugin-system'
-import { createContext } from 'preact'
+import { createContext } from '../vdom'
import { parseToolbars, ToolbarModel } from '../toolbar-parse'
-import { h, ComponentChildren } from 'preact'
+import { h, ComponentChildren } from '../vdom'
import ComponentContext from './ComponentContext'
@@ -173,5 +173,6 @@ export { default as EventApi } from './api/EventApi'
export { default as requestJson } from './util/requestJson'
+export * from './vdom'
export { subrenderer, SubRenderer, BaseComponent, setRef, renderVNodes } from './view-framework-util'
export { DelayedRunner } from './util/runner'
@@ -0,0 +1,2 @@
+
+export { Component, render, h, createRef, VNode, Fragment, ComponentChildren, createContext, Ref } from 'preact'
-import { Component, h, Fragment, Ref, ComponentChildren, render } from 'preact'
+import { Component, h, Fragment, Ref, ComponentChildren, render } from './vdom'
import ComponentContext, { ComponentContextType } from './component/ComponentContext'
@@ -1,4 +1,5 @@
import {
+ h, VNode,
ComponentContext,
DateMarker,
getDayClasses,
@@ -6,7 +7,7 @@ import {
DateProfile,
BaseComponent
} from '@fullcalendar/core'
-import { h, VNode } from 'preact'
export interface DayBgCell {
date: DateMarker
+ h, createRef, VNode,
EventStore,
EventUiHash,
@@ -13,7 +14,7 @@ import {
ComponentContext
import Table, { TableSeg } from './Table'
-import { h, createRef, VNode } from 'preact'
export interface DayTableProps {
dateProfile: DateProfile | null
+ h, createRef,
DayHeader,
DateProfileGenerator,
@@ -10,7 +11,6 @@ import {
import TableView, { hasRigidRows } from './TableView'
import DayTable from './DayTable'
export default class DayTableView extends TableView {
DateComponent, Seg,
Hit,
addDays, DateMarker,
@@ -7,7 +8,6 @@ import {
elementClosest
import DayTileEvents from './DayTileEvents'
export interface DayTileProps {
@@ -1,7 +1,8 @@
+ h, ComponentChildren, createRef,
applyStyle, BaseComponent, ComponentContext, DelayedRunner
-import { h, ComponentChildren, createRef } from 'preact'
export interface PopoverProps {
title: string
+ h, Ref, Fragment, createRef,
insertAfterElement,
findDirectChildren,
removeElement,
@@ -19,7 +20,6 @@ import TableMirrorEvents from './TableMirrorEvents'
import TableFills from './TableFills'
import Popover from './Popover'
import DayTile from './DayTile'
-import { h, Ref, Fragment, createRef } from 'preact'
import TableSkeleton, { TableSkeletonProps } from './TableSkeleton'
+ VNode,
appendToElement,
prependToElement,
renderVNodes
import CellEvents from './CellEvents'
-import { VNode } from 'preact'
/* Event-rendering methods for the Table class
htmlToElement,
subrenderer,
const EMPTY_CELL_HTML = '<td style="pointer-events:none"></td>'
@@ -1,5 +1,5 @@
-import { VNode, h } from 'preact'
+ VNode, h,
BaseComponent,
+ VNode, h, createRef, ComponentChildren,
findElements,
matchCellWidths,
uncompensateScroll,
@@ -15,7 +16,7 @@ import {
import Table from './Table'
import TableDateProfileGenerator from './TableDateProfileGenerator'
-import { VNode, h, createRef, ComponentChildren } from 'preact'
const WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' })
subtractInnerElHeight,
View,
ViewProps,
@@ -20,7 +21,6 @@ import {
getViewClassNames
import ListViewEvents from './ListViewEvents'
/*
Responsible for the scroller, and forwarding event-related actions into the "grid".
+ h,
htmlEscape,
FgEventRenderer,
Seg,
@@ -12,7 +13,6 @@ import {
renderVNodes,
GotoAnchor
export interface ListViewEventsProps extends BaseFgEventRendererProps {
DateComponent,
@@ -15,7 +16,6 @@ import {
import TimeCols, { TimeColsSeg } from './TimeCols'
export interface DayTimeColsProps {
DateProfileGenerator, DateProfile,
import { DayTable } from '@fullcalendar/daygrid'
import TimeColsView from './TimeColsView'
import DayTimeCols from './DayTimeCols'
export default class DayTimeColsView extends TimeColsView {
+ h, VNode, createRef, Ref,
applyStyle,
PositionCache,
@@ -25,7 +26,6 @@ import TimeColsFills from './TimeColsFills'
import TimeColsSlats from './TimeColsSlats'
import TimeColsBg, { TimeColsCell } from './TimeColsBg'
import TimeColsContentSkeleton, { TimeColsContentSkeletonContainers } from './TimeColsContentSkeleton'
-import { h, VNode, createRef, Ref } from 'preact'
guid
import { DayBgRow } from '@fullcalendar/daygrid'
export interface TimeColsBgProps {
@@ -1,10 +1,10 @@
guid,
export interface TimeColsContentSkeletonProps {
@@ -14,7 +15,7 @@ import {
export interface TimeColsSlatsProps {
dateProfile: DateProfile
matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight,
Scroller,
import { Table } from '@fullcalendar/daygrid'
import { TimeCols } from './main'
import AllDaySplitter from './AllDaySplitter'
const ALL_DAY_EVENT_LIMIT = 5
const WEEK_HEADER_FORMAT = createFormatter({ week: 'short' })
@@ -77,9 +77,17 @@ function buildPkgConfig(pkgStruct, ownBrowserGlobals, isDev) {
pkgStruct.jsonObj.peerDependencies || {}
))
+ // embed typescript utils
+ let allowExternalBundled = [ 'tslib' ]
+ // embed preact only in the core package
+ if (pkgStruct.name === '@fullcalendar/core') {
+ allowExternalBundled.push('preact')
+ }
let plugins = [
nodeResolve({
- only: [ 'tslib' ] // the only external module we want to bundle
+ only: allowExternalBundled
}),
replace({
delimiters: [ '<%= ', ' %>' ],