jk_flutter_lib 0.0.5
jk_flutter_lib: ^0.0.5 copied to clipboard
wujingshan 个人维护的一套Flutter组件库
Unreleased #
- 文档与元数据:补充作者 wujingshan、个人标准化组件库定位;更新
pubspec的description/authors,LICENSE著作权人,根README说明 pub 包可见范围。 - 数据展示:新增
JkAlert/JkAlertType(lib/src/components/data_display/alert/jk_alert.dart),对齐 FirstUI Alert:type(info / success / warning / waiting / clear)、title/desc、backgroundColor/titleColor/descColor/iconColor、closable/onClose、leading/leadingGap/trailing、padding/margin/radius、singleLineDesc、onTap/onLeadingTap;语义色走JkThemePalette。示例「数据展示 → Alert 警告框」。 - 数据展示:
JkDataTagGroup/JkDataTag(lib/src/components/data_display/data_tag/jk_data_tag.dart)对齐 FirstUI DataTag 概述(公开文档为 VIP):选集Set<T>、multiple、JkDataTagPlacement、round、variant、minCount/maxCount、icon、disabled;选中/未选对比(默认未选muteUnselected灰描边、选中 light 填充 + 主题色描边)、选中右下角三角 + 对号(showCornerBadge,子项可showCornerBadge: false覆盖)。示例已增无角标 / 混合角标 /muteUnselected: false对照块。 - 数据展示:新增
JkCircleProgress(lib/src/components/data_display/circle_progress/jk_circle_progress.dart),对齐 FirstUI Circle 类环形任务进度语义(公开文档为 VIP):percent(0–100)、size、strokeWidth、JkUIType/color/trackColor、clockwise、roundCap、中心child或showPercent;示例「数据展示 → CircleProgress 圆形进度」。 - 表单:新增
JkSlider(lib/src/components/form/slider/jk_slider.dart),对齐 FirstUI Slider 区间内选值语义(公开文档为 VIP,API 按常见滑块约定):min/max/value/step、disabled、activeColor/inactiveColor/thumbColor、JkUIType、trackHeight(进度条高度)、thumbSize(圆形滑块直径)、showLabel/decimalDigits/valueLabelBuilder;(max−min)/step为正整数且 ≤2000 时使用Slider.divisions。示例「表单 → Slider 滑块」含 步进长度(整除、小数、不可整除)与轨道/滑块尺寸案例。 - 表单:新增
JkRate(lib/src/components/form/rate/jk_rate.dart),对齐 uView Rate:count、value、size、gutter、activeColor/inactiveColor、minCount、allowHalf、disabled、readonly、activeIcon/inactiveIcon、touchable(滑动改分);受控onChanged。示例「表单 → Rate 评分」。 - 表单:
JkTextarea对齐 uView Textarea:count(字数统计,默认关闭;与showCounter二选一即生效)、height(minHeight)、autoHeight(有界父级时maxLines: null随内容增高;ListView等竖向无限高时退化为maxLines上限)、disabled、formatter(TextInputFormatter封装)、shape/focusNode/onFocus/onBlur/onSubmitted/onConfirm等转发至JkInput;默认textInputAction: newline。示例「表单 → Textarea」已扩充。Breaking:JkTextarea默认不再展示字数,需设count: true或showCounter: true。 - 表单:
JkInput对齐 uView Input:JkInputType(text/number/digit/idcard/password)、decimalPlaces(仅digit)、JkInputShape、JkInputAlign、disabled/disabledColor、fontSize、focusNode/onFocus/onBlur、onConfirm、prefixIcon/suffix样式;clearable时始终保留清除按钮占位(无内容时透明且不可点),避免与有内容时框高不一致;prefixIconConstraints使用 48×48 紧约束(含maxWidth),避免前缀列横向占满导致正文区被挤没、文字不可见;后缀槽仅约束最小 48 以便横向排计数与清除。contentPadding按尺寸固定。示例「表单 → Input 输入框」已扩充。 - 表单:
JkRadio/JkRadioGroup/JkRadioStyleType对齐 FirstUI Radio:fui-radio-group式分组(子项可省略groupValue/onChanged)、styleType(对号/圆点)、checkMarkOnly、color/borderColor/checkMarkColor/dotColor、borderRadius、scaleRatio;示例「表单 → Radio 单选框」已扩充。 - 导航:
JkTimeAxis增强:JkTimeAxisLayout(contentOnRight/contentOnLeft)、highlightIndex步进高亮、JkTimeAxisItem.icon;竖线在nodeGap处用Positioned负向延伸不断线。示例含三案例与上一步/下一步。 - 导航:
JkSteps:横向改为等分列 + 自图标中心至下一图标中心的连续横线(Stack溢出绘制);竖向轴线穿过行间距(负向Positioned),避免断开。stepFlex/connectorFlex保留兼容,横向等分列下不再单独占 connector 列。 - Breaking:移除库内自定义
JkTable/JkTableColumn/JkTableController(lib/src/components/expand/table/jk_table.dart已删除);表格场景请直接使用 Material 的DataTable/PaginatedDataTable,或社区包如two_dimensional_scrollables。示例「拓展 → Table 表格」已改为DataTable演示。 - 导航:新增步骤条
JkSteps/JkStepsItem(lib/src/components/navigation/steps/jk_steps.dart),对齐 uView Steps / FirstUI Steps(横向·竖向、current、dot、错误态、描述等)。 - 导航:新增时间轴
JkTimeAxis/JkTimeAxisItem(lib/src/components/navigation/time_axis/jk_time_axis.dart),对齐 FirstUI TimeAxis 竖向信息流布局。 - 反馈:新增
JkLoading/JkLoadingType(lib/src/components/feedback/loading/jk_loading.dart),对齐 FirstUI Loading;默认图标为JkLoadAni(circle);支持JkLoading.show/dismiss。示例见「反馈 → Loading 加载」。 - Breaking:
JkLoadingIcon/JkLoadingIconMode更名为JkLoadAni/JkLoadAniType(lib/src/components/feedback/load_ani/jk_load_ani.dart),并扩展 dots / pulse / bars 等形态,语义对齐 FirstUI loadAni(公开文档无完整 API,效果为常见 loadAni 演示);仍兼容 uView LoadingIcon 的 circle / semicircle 与可选文案。示例目录「LoadAni / 加载动画」。 - Breaking:共享枚举与主题扩展重命名:
JkComponentType→JkUIType,JkComponentSize→JkUISize,JkComponentShape→JkUIShape,JkComponentStyleTheme→JkUIStyleTheme。JkButton的JkButtonType/JkButtonSize/JkButtonShapetypedef 仍可用,分别指向JkUI*。 - 布局:
JkRow/JkCol栅格实现文件由lib/src/layout/grid/jk_grid_layout.dart迁至lib/src/layout/row_col/jk_row_col.dart(对外类名不变,仅路径与文件名与 Row/Col 语义一致)。 - 布局:新增宫格
JkGrid/JkGridItem(lib/src/layout/grid/jk_grid.dart),示例见「版式 → Grid 宫格」。 - 布局:新增标题栏
JkSection(lib/src/layout/section/jk_section.dart,对齐 FirstUI Section),示例见「版式 → Section 标题栏」;示例工程ExampleSectionHeader统一为JkSection(主标题 + 可选subtitle),装饰竖线默认固定高度lineLength并在行内垂直居中,需要与多行标题同高时设lineFullHeight: true。 - 布局:新增横向滚动列表
JkScrollList(lib/src/layout/scroll_list/jk_scroll_list.dart),对齐 uView ScrollList / FirstUI HorizontalScroll;支持底部指示条、onScrollToLeft/onScrollToRight、末尾trailing(示例含滑到最右「查看更多」)。 - 布局:新增轮播
JkSwiper(lib/src/layout/swiper/jk_swiper.dart),对齐 uView Swiper(indicator/indicatorModeline·dot、自动轮播、circular、viewportFraction、标题与加载态等);指示点形态并对齐 FirstUI SwiperDot 类场景;指示器始终贴底,内置titles在其上方;示例见「版式 → Swiper 轮播」。
0.0.1 #
- 首次面向 pub.dev 的发布准备:
pubspec元数据、LICENSE(MIT)、根目录 README 与变更记录纳入发布包;示例/测试/内部文档等仍由.pubignore排除。 - 组件与能力:见
lib/jk_flutter_lib.dart导出列表;详细迭代说明见本文件上方 Unreleased 与各提交记录。
