shineout 3.7.0-beta.27 → 3.7.0-beta.28

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/cjs/index.js CHANGED
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.7.0-beta.27'
525
+ version: '3.7.0-beta.28'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12226,7 +12226,7 @@ var handleStyle = function handleStyle(style) {
12226
12226
  };
12227
12227
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12228
12228
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12229
- /* harmony default export */ var version = ('3.7.0-beta.27');
12229
+ /* harmony default export */ var version = ('3.7.0-beta.28');
12230
12230
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12231
12231
 
12232
12232
 
@@ -28130,10 +28130,26 @@ var useTransferStyle = styled(transfer_transfer, 'transfer');
28130
28130
  /* harmony default export */ var shineout_style_src_transfer = ((/* unused pure expression or super */ null && (useTransferStyle)));
28131
28131
  ;// CONCATENATED MODULE: ../shineout-style/src/tree/tree.ts
28132
28132
 
28133
+ var childNodeMarginLeft = 12;
28133
28134
  var treeStyle = {
28134
28135
  rootClass: {},
28135
28136
  tree: {},
28136
28137
  virtual: {},
28138
+ sizeSmall: {
28139
+ '&$line $node': {
28140
+ '&:last-child': {
28141
+ '&::before': {
28142
+ top: 0,
28143
+ height: 14
28144
+ }
28145
+ },
28146
+ '&::before': {
28147
+ top: -2,
28148
+ height: 'calc(100% + 2px)'
28149
+ }
28150
+ }
28151
+ },
28152
+ sizeLarge: {},
28137
28153
  notTree: {
28138
28154
  '&$root > $node$leaf': {
28139
28155
  paddingLeft: 0
@@ -28157,26 +28173,6 @@ var treeStyle = {
28157
28173
  height: 'calc(100% + 6px)',
28158
28174
  width: 1,
28159
28175
  background: src.treeLineBackgroundColor
28160
- },
28161
- '&[dir=ltr]::after': {
28162
- left: 0
28163
- },
28164
- '&[dir=rtl]::after': {
28165
- right: 0
28166
- },
28167
- '&::after': {
28168
- content: '""',
28169
- position: 'absolute',
28170
- top: 18,
28171
- height: 1,
28172
- width: 16,
28173
- background: src.treeLineBackgroundColor
28174
- }
28175
- },
28176
- '& $node:first-child': {},
28177
- '& $node:first-child:last-child': {
28178
- '&::before,&::after': {
28179
- display: 'none'
28180
28176
  }
28181
28177
  },
28182
28178
  '& $node:last-child': {
@@ -28187,19 +28183,118 @@ var treeStyle = {
28187
28183
  },
28188
28184
  '& $contentWrapper': {},
28189
28185
  '& $iconWrapper': {
28186
+ width: 24,
28190
28187
  '&[dir=ltr]': {
28191
- left: 16
28188
+ left: -24
28192
28189
  },
28193
28190
  '&[dir=rtl]': {
28194
- right: 16
28195
- },
28196
- width: 24,
28197
- '& $icon': {
28198
- // width: 16,
28191
+ right: -24
28199
28192
  }
28200
28193
  },
28201
28194
  '& $childnode': {
28202
- marginLeft: 12
28195
+ marginLeft: childNodeMarginLeft,
28196
+ '&$contentWrapper': {
28197
+ position: 'relative',
28198
+ '&::after': {
28199
+ content: '""',
28200
+ position: 'absolute',
28201
+ top: 18,
28202
+ left: 0,
28203
+ marginLeft: -24,
28204
+ transform: 'translate(-100%, 0)',
28205
+ height: 1,
28206
+ width: 16,
28207
+ background: src.treeLineBackgroundColor
28208
+ }
28209
+ }
28210
+ },
28211
+ '& $leaf': {
28212
+ '& $contentWrapper': {
28213
+ position: 'relative',
28214
+ '&::after': {
28215
+ content: '""',
28216
+ position: 'absolute',
28217
+ top: 18,
28218
+ left: 0,
28219
+ marginLeft: -24,
28220
+ transform: 'translate(-100%, 0)',
28221
+ height: 1,
28222
+ width: 16,
28223
+ background: src.treeLineBackgroundColor
28224
+ }
28225
+ }
28226
+ },
28227
+ '& $childnode[dir=rtl]': {
28228
+ '&$contentWrapper': {
28229
+ '&::after': {
28230
+ top: '50%',
28231
+ right: 0,
28232
+ transform: 'translate(100%, -50%)'
28233
+ }
28234
+ }
28235
+ },
28236
+ '&$sizeSmall $contentWrapper::after': {
28237
+ display: 'none'
28238
+ },
28239
+ '&$sizeLarge': {
28240
+ '& $node:last-child::before': {
28241
+ height: 21
28242
+ },
28243
+ '& $iconWrapper': {
28244
+ '&[dir=ltr]': {
28245
+ left: -32
28246
+ },
28247
+ '&[dir=rtl]': {
28248
+ right: -32
28249
+ }
28250
+ },
28251
+ '& $childnode, & $leaf': {
28252
+ marginLeft: 20
28253
+ },
28254
+ '& $node': {
28255
+ paddingLeft: 32,
28256
+ '&[dir=ltr]::before': {
28257
+ left: 4
28258
+ },
28259
+ '&[dir=rtl]::before': {
28260
+ right: 4
28261
+ },
28262
+ '&::before': {
28263
+ top: -4,
28264
+ height: 'calc(100% + 4px)'
28265
+ }
28266
+ },
28267
+ '& $node$leaf': {
28268
+ '&[dir=ltr]::before': {
28269
+ left: -16
28270
+ },
28271
+ '&[dir=rtl]::before': {
28272
+ right: -16
28273
+ },
28274
+ '&::after': {
28275
+ left: -14
28276
+ }
28277
+ },
28278
+ '& > $root > $node': {
28279
+ paddingLeft: 12
28280
+ },
28281
+ '& $leaf $contentWrapper::after': {
28282
+ left: -24,
28283
+ top: 21,
28284
+ transform: 'translate(0, -50%)'
28285
+ },
28286
+ '& $contentWrapper$childnode::after': {
28287
+ top: 21,
28288
+ marginLeft: -32
28289
+ }
28290
+ },
28291
+ '& > $root > $node': {
28292
+ paddingLeft: 12,
28293
+ '& > $contentWrapper': {
28294
+ '&::after': {
28295
+ display: 'none'
28296
+ }
28297
+ }
28203
28298
  }
28204
28299
  },
28205
28300
  noline: {
@@ -28233,30 +28328,19 @@ var treeStyle = {
28233
28328
  '& > $node': {
28234
28329
  paddingLeft: 24
28235
28330
  }
28331
+ },
28332
+ '&$sizeLarge': {
28333
+ '& > $root > $node, & $node$leaf': {
28334
+ paddingLeft: 32
28335
+ }
28236
28336
  }
28237
28337
  },
28238
28338
  root: {
28239
- // '& > :first-child$node': {
28240
- // '&::before': {
28241
- // top: 18,
28242
- // },
28243
- // },
28244
- // '& > :last-child$node': {
28245
- // '&::before': {},
28246
- // },
28247
28339
  '& > $node': {
28248
28340
  paddingLeft: 12,
28249
28341
  '&$leaf': {
28250
28342
  paddingLeft: 24
28251
28343
  },
28252
- '& > $contentWrapper > $iconWrapper': {
28253
- '&[dir=ltr]': {
28254
- left: 0
28255
- },
28256
- '&[dir=rtl]': {
28257
- right: 0
28258
- }
28259
- },
28260
28344
  '&::before': {
28261
28345
  display: 'none'
28262
28346
  },
@@ -28270,7 +28354,13 @@ var treeStyle = {
28270
28354
  contentWrapper: {
28271
28355
  display: 'flex',
28272
28356
  alignItems: 'flex-start',
28273
- padding: '5px 0'
28357
+ padding: '5px 0',
28358
+ '$sizeSmall &': {
28359
+ padding: '1px 0'
28360
+ },
28361
+ '$sizeLarge & $text': {
28362
+ lineHeight: '28px'
28363
+ }
28274
28364
  },
28275
28365
  inlineContent: {
28276
28366
  display: 'inline-flex'
@@ -28291,15 +28381,6 @@ var treeStyle = {
28291
28381
  display: 'flex',
28292
28382
  alignItems: 'center',
28293
28383
  marginLeft: 4,
28294
- // 'label&': {
28295
- // cursor: 'pointer',
28296
- // userSelect: 'none',
28297
- // },
28298
-
28299
- // '$iconWrapper + &': {
28300
- // marginLeft: 4,
28301
- // },
28302
-
28303
28384
  '$contentDisabled &': {
28304
28385
  '& $text': {
28305
28386
  color: src.treeContentDisabledFontColor
@@ -28316,7 +28397,11 @@ var treeStyle = {
28316
28397
  checkbox: {
28317
28398
  '&[class*="checkbox-wrapper"]': {
28318
28399
  height: 26,
28400
+ alignSelf: 'flex-start',
28319
28401
  marginRight: src.treeCheckboxMarginX
28402
+ },
28403
+ '$sizeLarge &': {
28404
+ marginTop: 4
28320
28405
  }
28321
28406
  },
28322
28407
  text: {
@@ -28335,19 +28420,30 @@ var treeStyle = {
28335
28420
  background: src.treeContentHoverBackgroundColor
28336
28421
  }
28337
28422
  },
28338
- // textDisabled: {
28339
- // color: Token.treeItemDisabledFontColor,
28340
- // },
28341
28423
  list: {},
28342
28424
  node: {
28343
28425
  position: 'relative',
28344
28426
  paddingLeft: 28,
28345
- '&$leaf': {
28346
- paddingLeft: 40,
28347
- '&::after': {
28348
- width: 12
28427
+ '$sizeSmall$line &': {
28428
+ paddingLeft: 12,
28429
+ '&$leaf': {
28430
+ paddingLeft: 24
28431
+ },
28432
+ "&::after": {
28433
+ position: 'absolute',
28434
+ content: '""',
28435
+ top: 28,
28436
+ width: 1,
28437
+ height: 'calc(100% - 28px)',
28438
+ background: src.treeLineBackgroundColor
28349
28439
  }
28350
28440
  },
28441
+ '$sizeLarge &': {
28442
+ paddingLeft: 32
28443
+ },
28444
+ '&$leaf': {
28445
+ paddingLeft: 40
28446
+ },
28351
28447
  '&[draggable="true"]': {
28352
28448
  cursor: 'pointer'
28353
28449
  }
@@ -28363,7 +28459,8 @@ var treeStyle = {
28363
28459
  },
28364
28460
  position: 'absolute',
28365
28461
  width: 24,
28366
- height: 26,
28462
+ height: 24,
28463
+ margin: '1px 0',
28367
28464
  display: 'inline-flex',
28368
28465
  alignItems: 'center',
28369
28466
  justifyContent: 'center',
@@ -28371,11 +28468,16 @@ var treeStyle = {
28371
28468
  '& $icon': {
28372
28469
  transform: 'rotate(0deg)'
28373
28470
  }
28471
+ },
28472
+ '$sizeLarge &': {
28473
+ width: 32,
28474
+ height: 32,
28475
+ top: 5
28374
28476
  }
28375
28477
  },
28376
28478
  icon: {
28377
- width: 24,
28378
- height: 24,
28479
+ width: '100%',
28480
+ height: '100%',
28379
28481
  display: 'inline-flex',
28380
28482
  alignItems: 'center',
28381
28483
  justifyContent: 'center',
@@ -28391,7 +28493,10 @@ var treeStyle = {
28391
28493
  background: src.treeItemActiveBackgroundColor
28392
28494
  },
28393
28495
  '& svg': {
28394
- width: 14
28496
+ width: 14,
28497
+ '$sizeLarge &': {
28498
+ width: 16
28499
+ }
28395
28500
  }
28396
28501
  },
28397
28502
  children: {},
@@ -53692,7 +53797,8 @@ var TreeCheckbox = function TreeCheckbox(props) {
53692
53797
  id = props.id,
53693
53798
  onChange = props.onChange,
53694
53799
  disabled = props.disabled,
53695
- checked = props.checked;
53800
+ checked = props.checked,
53801
+ size = props.size;
53696
53802
  var _useTreeContext = useTreeContext(),
53697
53803
  unBindUpdate = _useTreeContext.unBindUpdate;
53698
53804
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
@@ -53709,7 +53815,8 @@ var TreeCheckbox = function TreeCheckbox(props) {
53709
53815
  checked: checked,
53710
53816
  disabled: disabled,
53711
53817
  onChange: onChange,
53712
- needStopPropagation: true
53818
+ needStopPropagation: true,
53819
+ size: size
53713
53820
  });
53714
53821
  };
53715
53822
  /* harmony default export */ var tree_checkbox = (TreeCheckbox);
@@ -53756,7 +53863,8 @@ var NodeContent = function NodeContent(props) {
53756
53863
  var forceUpdate = useRender();
53757
53864
  var _useTreeContext = useTreeContext(),
53758
53865
  isDisabled = _useTreeContext.isDisabled,
53759
- bindUpdate = _useTreeContext.bindUpdate;
53866
+ bindUpdate = _useTreeContext.bindUpdate,
53867
+ size = _useTreeContext.size;
53760
53868
  var config = useConfig();
53761
53869
  var disabled = isDisabled(id);
53762
53870
  bindUpdate(id, forceUpdate);
@@ -53880,6 +53988,7 @@ var NodeContent = function NodeContent(props) {
53880
53988
  };
53881
53989
  var renderCheckbox = function renderCheckbox() {
53882
53990
  return /*#__PURE__*/(0,jsx_runtime.jsx)(tree_checkbox, {
53991
+ size: size,
53883
53992
  jssStyle: jssStyle,
53884
53993
  id: id,
53885
53994
  disabled: disabled,
@@ -54377,7 +54486,8 @@ var VirtualNode = function VirtualNode(props) {
54377
54486
  onChange = props.onChange,
54378
54487
  onNodeClick = props.onNodeClick,
54379
54488
  onToggle = props.onToggle,
54380
- actionOnClick = props.actionOnClick;
54489
+ actionOnClick = props.actionOnClick,
54490
+ size = props.size;
54381
54491
  var config = useConfig();
54382
54492
  var datum = useTreeContext();
54383
54493
  var element = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
@@ -54418,12 +54528,13 @@ var VirtualNode = function VirtualNode(props) {
54418
54528
  });
54419
54529
  if (onToggle) onToggle(id, nextExpanded);
54420
54530
  };
54531
+ var indent = size === "large" ? 32 : 24;
54421
54532
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
54422
54533
  ref: element,
54423
54534
  className: rootClass,
54424
54535
  dir: config.direction,
54425
54536
  style: {
54426
- paddingLeft: level * 24
54537
+ paddingLeft: level * indent
54427
54538
  },
54428
54539
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(tree_content, {
54429
54540
  virtual: true,
@@ -54635,11 +54746,15 @@ var Root = function Root(props) {
54635
54746
 
54636
54747
 
54637
54748
 
54749
+ var SIZE_MAP = {
54750
+ 'small': 28,
54751
+ 'default': 36,
54752
+ 'large': 42
54753
+ };
54638
54754
  var TreeVirtual = function TreeVirtual(props) {
54639
54755
  var jssStyle = props.jssStyle,
54640
54756
  height = props.height,
54641
- _props$lineHeight = props.lineHeight,
54642
- lineHeight = _props$lineHeight === void 0 ? 36 : _props$lineHeight,
54757
+ lineHeightProp = props.lineHeight,
54643
54758
  rowsInView = props.rowsInView,
54644
54759
  line = props.line,
54645
54760
  mode = props.mode,
@@ -54664,6 +54779,7 @@ var TreeVirtual = function TreeVirtual(props) {
54664
54779
  onToggle = props.onToggle,
54665
54780
  onChange = props.onChange;
54666
54781
  var datum = useTreeContext();
54782
+ var lineHeight = lineHeightProp || SIZE_MAP[datum.size || 'default'];
54667
54783
  var renderItem = function renderItem(item, index) {
54668
54784
  var id = item.id,
54669
54785
  data = item.data,
@@ -54696,7 +54812,8 @@ var TreeVirtual = function TreeVirtual(props) {
54696
54812
  expanded: expanded,
54697
54813
  onNodeClick: onNodeClick,
54698
54814
  onToggle: onToggle,
54699
- onChange: onChange
54815
+ onChange: onChange,
54816
+ size: datum.size
54700
54817
  }, id);
54701
54818
  };
54702
54819
  return /*#__PURE__*/(0,jsx_runtime.jsx)(virtual_scroll_list, {
@@ -54828,7 +54945,7 @@ var Tree = function Tree(props) {
54828
54945
  expanded = _useTree.expanded,
54829
54946
  onExpand = _useTree.onExpand;
54830
54947
  var treeStyle = (jssStyle === null || jssStyle === void 0 ? void 0 : jssStyle.tree()) || {};
54831
- var rootClass = classnames_default()(treeStyle.rootClass, treeStyle.tree, className, defineProperty_default()(defineProperty_default()(defineProperty_default()({}, treeStyle.line, line), treeStyle.noline, !line), treeStyle.virtual, virtual));
54948
+ var rootClass = classnames_default()(treeStyle.rootClass, treeStyle.tree, className, defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({}, treeStyle.line, line), treeStyle.noline, !line), treeStyle.virtual, virtual), treeStyle.sizeSmall, props.size === 'small'), treeStyle.sizeLarge, props.size === 'large'));
54832
54949
  var getDragImageSelector = function getDragImageSelector(data) {
54833
54950
  if (isFunc(dragImageSelector)) return dragImageSelector(data);
54834
54951
  return dragImageSelector;
@@ -55019,7 +55136,9 @@ var Tree = function Tree(props) {
55019
55136
  id: fieldId
55020
55137
  }, rest), {}, {
55021
55138
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(tree_context_Provider, {
55022
- value: datum,
55139
+ value: objectSpread2_default()(objectSpread2_default()({}, datum), {}, {
55140
+ size: props.size
55141
+ }),
55023
55142
  children: renderList()
55024
55143
  })
55025
55144
  }));
@@ -63783,7 +63902,7 @@ var emptyRef = {
63783
63902
  current: null
63784
63903
  };
63785
63904
  /* harmony default export */ var src_table_table = (function (props) {
63786
- var _props$jssStyle, _props$jssStyle$table, _props$data, _columns$find;
63905
+ var _props$jssStyle, _props$jssStyle$table, _columns$find;
63787
63906
  var _props$verticalAlign = props.verticalAlign,
63788
63907
  verticalAlign = _props$verticalAlign === void 0 ? 'top' : _props$verticalAlign,
63789
63908
  _props$size = props.size,
@@ -63835,7 +63954,7 @@ var emptyRef = {
63835
63954
  scrollingTimer: null
63836
63955
  }),
63837
63956
  context = _useRef.current;
63838
- var virtual = !fakeVirtual && ((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
63957
+ var virtual = !fakeVirtual && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
63839
63958
 
63840
63959
  // 虚拟列表高度另外计算
63841
63960
  var _useResize = useResize({
@@ -64042,8 +64161,8 @@ var emptyRef = {
64042
64161
  }, 100);
64043
64162
  });
64044
64163
  var renderEmpty = function renderEmpty() {
64045
- var _props$data2;
64046
- if (!((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length) || filteredData !== undefined && filteredData.length === 0) {
64164
+ var _props$data;
64165
+ if (!((_props$data = props.data) !== null && _props$data !== void 0 && _props$data.length) || filteredData !== undefined && filteredData.length === 0) {
64047
64166
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
64048
64167
  className: classnames_default()(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper, isScrollX && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyNoBorder)),
64049
64168
  ref: function ref(el) {
@@ -64058,7 +64177,7 @@ var emptyRef = {
64058
64177
  };
64059
64178
  var $empty = renderEmpty();
64060
64179
  var renderTable = function renderTable() {
64061
- var _props$summary, _sticky$top, _props$data3;
64180
+ var _props$summary, _sticky$top, _props$data2;
64062
64181
  var Group = /*#__PURE__*/(0,jsx_runtime.jsx)(table_colgroup, {
64063
64182
  colgroup: colgroup,
64064
64183
  columns: columns,
@@ -64142,7 +64261,7 @@ var emptyRef = {
64142
64261
  }
64143
64262
  }
64144
64263
  };
64145
- var isRenderVirtualTable = virtual || props.sticky || !((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length);
64264
+ var isRenderVirtualTable = virtual || props.sticky || !((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length);
64146
64265
  var headWrapperClass = classnames_default()(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, !!$empty && tableClasses.emptyHeader, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && !isScrollY && tableClasses.scrollX);
64147
64266
  var footWrapperClass = classnames_default()(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
64148
64267
  var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
@@ -64234,7 +64353,7 @@ var emptyRef = {
64234
64353
  })
64235
64354
  }));
64236
64355
  if (isRenderVirtualTable) {
64237
- var _props$data4;
64356
+ var _props$data3;
64238
64357
  var showStickyHeader = !props.hideHeader && props.sticky;
64239
64358
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
64240
64359
  children: [renderHeadMirrorScroller(), showStickyHeader && /*#__PURE__*/(0,jsx_runtime.jsx)(StickyWrapper, objectSpread2_default()(objectSpread2_default()({}, stickyProps), {}, {
@@ -64256,7 +64375,7 @@ var emptyRef = {
64256
64375
  isEmpty: !!$empty,
64257
64376
  tableRef: tableRef,
64258
64377
  setFakeVirtual: setFakeVirtual,
64259
- children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("table", {
64378
+ children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length) && /*#__PURE__*/(0,jsx_runtime.jsxs)("table", {
64260
64379
  style: {
64261
64380
  width: width,
64262
64381
  transform: virtualInfo.translateStyle
@@ -70818,7 +70937,7 @@ var upload_interface = __webpack_require__(8821);
70818
70937
 
70819
70938
 
70820
70939
  /* harmony default export */ var src_0 = ({
70821
- version: '3.7.0-beta.27'
70940
+ version: '3.7.0-beta.28'
70822
70941
  });
70823
70942
  }();
70824
70943
  /******/ return __webpack_exports__;