@daikin-oss/design-system-web-components 2.0.1-next.1 → 2.1.0-next.3

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/custom-elements.json +570 -383
  3. package/dist/cjs/base/dds-element.cjs +1 -1
  4. package/dist/cjs/components/carousel/daikin-carousel.cjs +298 -57
  5. package/dist/cjs/components/carousel/daikin-carousel.d.cts +50 -7
  6. package/dist/cjs/components/carousel-item/daikin-carousel-item.cjs +18 -2
  7. package/dist/cjs/components/carousel-item/daikin-carousel-item.d.cts +1 -5
  8. package/dist/cjs/components/chip/daikin-chip.cjs +24 -6
  9. package/dist/cjs/components/chip/daikin-chip.d.cts +2 -0
  10. package/dist/cjs/components/combobox/daikin-combobox.cjs +14 -4
  11. package/dist/cjs/components/combobox/daikin-combobox.d.cts +8 -0
  12. package/dist/cjs/components/icon-button/daikin-icon-button.cjs +42 -7
  13. package/dist/cjs/components/tag/daikin-tag.cjs +3 -1
  14. package/dist/cjs/components/text-field/daikin-text-field.cjs +12 -12
  15. package/dist/cjs/controllers/click-outside.cjs +6 -8
  16. package/dist/cjs/controllers/click-outside.d.cts +3 -3
  17. package/dist/cjs/tailwind.css.cjs +1 -1
  18. package/dist/cjs-dev/base/dds-element.cjs +1 -1
  19. package/dist/cjs-dev/components/carousel/daikin-carousel.cjs +300 -59
  20. package/dist/cjs-dev/components/carousel/daikin-carousel.d.cts +50 -7
  21. package/dist/cjs-dev/components/carousel-item/daikin-carousel-item.cjs +18 -2
  22. package/dist/cjs-dev/components/carousel-item/daikin-carousel-item.d.cts +1 -5
  23. package/dist/cjs-dev/components/chip/daikin-chip.cjs +24 -6
  24. package/dist/cjs-dev/components/chip/daikin-chip.d.cts +2 -0
  25. package/dist/cjs-dev/components/combobox/daikin-combobox.cjs +14 -4
  26. package/dist/cjs-dev/components/combobox/daikin-combobox.d.cts +8 -0
  27. package/dist/cjs-dev/components/icon-button/daikin-icon-button.cjs +42 -7
  28. package/dist/cjs-dev/components/tag/daikin-tag.cjs +3 -1
  29. package/dist/cjs-dev/components/text-field/daikin-text-field.cjs +12 -12
  30. package/dist/cjs-dev/controllers/click-outside.cjs +6 -8
  31. package/dist/cjs-dev/controllers/click-outside.d.cts +3 -3
  32. package/dist/cjs-dev/tailwind.css.cjs +1 -1
  33. package/dist/es/base/dds-element.js +1 -1
  34. package/dist/es/components/carousel/daikin-carousel.d.ts +50 -7
  35. package/dist/es/components/carousel/daikin-carousel.js +297 -58
  36. package/dist/es/components/carousel-item/daikin-carousel-item.d.ts +1 -5
  37. package/dist/es/components/carousel-item/daikin-carousel-item.js +18 -2
  38. package/dist/es/components/chip/daikin-chip.d.ts +2 -0
  39. package/dist/es/components/chip/daikin-chip.js +25 -7
  40. package/dist/es/components/combobox/daikin-combobox.d.ts +8 -0
  41. package/dist/es/components/combobox/daikin-combobox.js +14 -4
  42. package/dist/es/components/icon-button/daikin-icon-button.js +42 -7
  43. package/dist/es/components/tag/daikin-tag.js +3 -1
  44. package/dist/es/components/text-field/daikin-text-field.js +12 -12
  45. package/dist/es/controllers/click-outside.d.ts +3 -3
  46. package/dist/es/controllers/click-outside.js +6 -8
  47. package/dist/es/tailwind.css.js +1 -1
  48. package/dist/es-dev/base/dds-element.js +1 -1
  49. package/dist/es-dev/components/carousel/daikin-carousel.d.ts +50 -7
  50. package/dist/es-dev/components/carousel/daikin-carousel.js +299 -60
  51. package/dist/es-dev/components/carousel-item/daikin-carousel-item.d.ts +1 -5
  52. package/dist/es-dev/components/carousel-item/daikin-carousel-item.js +18 -2
  53. package/dist/es-dev/components/chip/daikin-chip.d.ts +2 -0
  54. package/dist/es-dev/components/chip/daikin-chip.js +25 -7
  55. package/dist/es-dev/components/combobox/daikin-combobox.d.ts +8 -0
  56. package/dist/es-dev/components/combobox/daikin-combobox.js +14 -4
  57. package/dist/es-dev/components/icon-button/daikin-icon-button.js +42 -7
  58. package/dist/es-dev/components/tag/daikin-tag.js +3 -1
  59. package/dist/es-dev/components/text-field/daikin-text-field.js +12 -12
  60. package/dist/es-dev/controllers/click-outside.d.ts +3 -3
  61. package/dist/es-dev/controllers/click-outside.js +6 -8
  62. package/dist/es-dev/tailwind.css.js +1 -1
  63. package/package.json +2 -1
@@ -1171,30 +1171,6 @@
1171
1171
  }
1172
1172
  ]
1173
1173
  },
1174
- {
1175
- "kind": "javascript-module",
1176
- "path": "dist/es/constants/events.js",
1177
- "declarations": [
1178
- {
1179
- "kind": "variable",
1180
- "name": "EVENT_CLOSE",
1181
- "type": {
1182
- "text": "string"
1183
- },
1184
- "default": "\"close\""
1185
- }
1186
- ],
1187
- "exports": [
1188
- {
1189
- "kind": "js",
1190
- "name": "EVENT_CLOSE",
1191
- "declaration": {
1192
- "name": "EVENT_CLOSE",
1193
- "module": "src/constants/events.ts"
1194
- }
1195
- }
1196
- ]
1197
- },
1198
1174
  {
1199
1175
  "kind": "javascript-module",
1200
1176
  "path": "dist/es/components/index.js",
@@ -1762,6 +1738,30 @@
1762
1738
  }
1763
1739
  ]
1764
1740
  },
1741
+ {
1742
+ "kind": "javascript-module",
1743
+ "path": "dist/es/constants/events.js",
1744
+ "declarations": [
1745
+ {
1746
+ "kind": "variable",
1747
+ "name": "EVENT_CLOSE",
1748
+ "type": {
1749
+ "text": "string"
1750
+ },
1751
+ "default": "\"close\""
1752
+ }
1753
+ ],
1754
+ "exports": [
1755
+ {
1756
+ "kind": "js",
1757
+ "name": "EVENT_CLOSE",
1758
+ "declaration": {
1759
+ "name": "EVENT_CLOSE",
1760
+ "module": "src/constants/events.ts"
1761
+ }
1762
+ }
1763
+ ]
1764
+ },
1765
1765
  {
1766
1766
  "kind": "javascript-module",
1767
1767
  "path": "dist/es/controllers/block-scroll.js",
@@ -6276,13 +6276,33 @@
6276
6276
  "declarations": [
6277
6277
  {
6278
6278
  "kind": "class",
6279
- "description": "A carousel is a component that displays multiple pieces of information by sliding left and right within a fixed height area.\n\nThe carousel component can be operated in several ways (Control, Indicator, and Swipe), but it is not possible to hide all of these, as this would prevent the user from being able to operate the carousel component.\n\nHierarchy:\n- `daikin-carousel` > `daikin-carousel-item`",
6279
+ "description": "A carousel is a component that displays multiple pieces of information by sliding left and right within a fixed height area.\n\nPowered by embla-carousel for smooth, native-feeling interactions and infinite loops.\n\nHierarchy:\n- `daikin-carousel` > `daikin-carousel-item`",
6280
6280
  "name": "DaikinCarousel",
6281
6281
  "cssProperties": [
6282
6282
  {
6283
- "description": "Specify the interval for the slide animation.",
6283
+ "description": "Legacy transition duration in milliseconds. **Warning:** Mapped to Embla's duration option using 600ms = 25. This property may be removed in a future release; gradually migrate to the `duration` property instead.",
6284
6284
  "name": "--ddc-transition-duration",
6285
6285
  "default": "600ms"
6286
+ },
6287
+ {
6288
+ "description": "The aspect ratio of every carousel item's media container.",
6289
+ "name": "--ddc-item-aspect-ratio",
6290
+ "default": "16/9"
6291
+ },
6292
+ {
6293
+ "description": "How image/video content fits inside every carousel item's media container.",
6294
+ "name": "--ddc-item-object-fit",
6295
+ "default": "contain"
6296
+ },
6297
+ {
6298
+ "description": "The default background color for the carousel items.",
6299
+ "name": "--ddc-item-background-color",
6300
+ "default": "var(--dds-color-common-surface-secondary)"
6301
+ },
6302
+ {
6303
+ "description": "The gap between carousel items.",
6304
+ "name": "--ddc-item-gap",
6305
+ "default": "var(--dds-space-100)"
6286
6306
  }
6287
6307
  ],
6288
6308
  "slots": [
@@ -6299,10 +6319,42 @@
6299
6319
  "text": "number"
6300
6320
  },
6301
6321
  "default": "0",
6302
- "description": "The index number of the content currently being displayed.\nWhen controlling this property externally, listen to the `select` event and read the updated `currentIndex` from the component to keep your state in sync.",
6322
+ "description": "The index number of the content currently being displayed.",
6303
6323
  "attribute": "current-index",
6304
6324
  "reflects": true
6305
6325
  },
6326
+ {
6327
+ "kind": "field",
6328
+ "name": "loop",
6329
+ "type": {
6330
+ "text": "boolean"
6331
+ },
6332
+ "default": "false",
6333
+ "description": "Whether the carousel should loop back to the first item when the last item is reached.",
6334
+ "attribute": "loop"
6335
+ },
6336
+ {
6337
+ "kind": "field",
6338
+ "name": "arrows",
6339
+ "type": {
6340
+ "text": "\"outside\" | \"inside\""
6341
+ },
6342
+ "description": "The position of the navigation arrows. Can be either \"outside\" or \"inside\".\n- \"outside\": Arrows are placed outside the carousel viewport.\n- \"inside\": Arrows are placed inside the carousel viewport.\nThe inside option is useful for carousels with a smaller width, where the arrows can be placed over the content without taking up additional space.\nWhen the width of viewport is smaller than mobile breakpoint (768px), the arrows will always be placed inside regardless of this property.",
6343
+ "default": "\"outside\"",
6344
+ "attribute": "arrows",
6345
+ "reflects": true
6346
+ },
6347
+ {
6348
+ "kind": "field",
6349
+ "name": "duration",
6350
+ "type": {
6351
+ "text": "number"
6352
+ },
6353
+ "description": "The higher this value, the slower the image scrolling animation. However, this value does not affect the sliding speed when the user is dragging the image, as that depends on the user's dragging speed.",
6354
+ "default": "25",
6355
+ "attribute": "duration",
6356
+ "reflects": true
6357
+ },
6306
6358
  {
6307
6359
  "kind": "field",
6308
6360
  "name": "_items",
@@ -6319,16 +6371,23 @@
6319
6371
  "text": "number"
6320
6372
  },
6321
6373
  "privacy": "private",
6322
- "default": "0"
6374
+ "default": "0",
6375
+ "description": "Keeps track of the total number of slotted carousel items."
6323
6376
  },
6324
6377
  {
6325
6378
  "kind": "field",
6326
- "name": "_prevButton",
6379
+ "name": "_emblaApi",
6380
+ "type": {
6381
+ "text": "EmblaCarouselType | undefined | undefined"
6382
+ },
6327
6383
  "privacy": "private"
6328
6384
  },
6329
6385
  {
6330
6386
  "kind": "field",
6331
- "name": "_nextButton",
6387
+ "name": "_mediaResizeObserver",
6388
+ "type": {
6389
+ "text": "ResizeObserver | undefined"
6390
+ },
6332
6391
  "privacy": "private"
6333
6392
  },
6334
6393
  {
@@ -6336,6 +6395,43 @@
6336
6395
  "name": "_indicatorButtonsContainer",
6337
6396
  "privacy": "private"
6338
6397
  },
6398
+ {
6399
+ "kind": "field",
6400
+ "name": "_viewport",
6401
+ "privacy": "private"
6402
+ },
6403
+ {
6404
+ "kind": "field",
6405
+ "name": "_track",
6406
+ "privacy": "private"
6407
+ },
6408
+ {
6409
+ "kind": "field",
6410
+ "name": "_pendingOperation",
6411
+ "type": {
6412
+ "text": "\"prev\" | \"next\" | \"indicator\" | undefined"
6413
+ },
6414
+ "privacy": "private"
6415
+ },
6416
+ {
6417
+ "kind": "field",
6418
+ "name": "_isDragging",
6419
+ "type": {
6420
+ "text": "boolean"
6421
+ },
6422
+ "privacy": "private",
6423
+ "default": "false"
6424
+ },
6425
+ {
6426
+ "kind": "method",
6427
+ "name": "_getEmblaDuration",
6428
+ "privacy": "private",
6429
+ "return": {
6430
+ "type": {
6431
+ "text": "number"
6432
+ }
6433
+ }
6434
+ },
6339
6435
  {
6340
6436
  "kind": "method",
6341
6437
  "name": "_emitSelect",
@@ -6344,7 +6440,7 @@
6344
6440
  {
6345
6441
  "name": "operation",
6346
6442
  "type": {
6347
- "text": "\"prev\" | \"next\" | \"indicator\""
6443
+ "text": "\"prev\" | \"next\" | \"indicator\" | \"swipe\""
6348
6444
  }
6349
6445
  },
6350
6446
  {
@@ -6355,6 +6451,28 @@
6355
6451
  }
6356
6452
  ]
6357
6453
  },
6454
+ {
6455
+ "kind": "method",
6456
+ "name": "_initEmbla",
6457
+ "privacy": "private",
6458
+ "description": "Initializes or re-initializes the Embla instance when properties or slots change."
6459
+ },
6460
+ {
6461
+ "kind": "field",
6462
+ "name": "_onEmblaPointerDown",
6463
+ "privacy": "private"
6464
+ },
6465
+ {
6466
+ "kind": "field",
6467
+ "name": "_onEmblaSettle",
6468
+ "privacy": "private"
6469
+ },
6470
+ {
6471
+ "kind": "field",
6472
+ "name": "_onEmblaSelect",
6473
+ "privacy": "private",
6474
+ "description": "Embla event listener that synchronizes internal state when the user swipes or slides."
6475
+ },
6358
6476
  {
6359
6477
  "kind": "method",
6360
6478
  "name": "_handleClickIndicator",
@@ -6386,24 +6504,24 @@
6386
6504
  }
6387
6505
  ]
6388
6506
  },
6389
- {
6390
- "kind": "method",
6391
- "name": "_handleSlotchange",
6392
- "privacy": "private"
6393
- },
6394
6507
  {
6395
6508
  "kind": "method",
6396
6509
  "name": "_moveBy",
6397
6510
  "privacy": "private",
6398
6511
  "parameters": [
6399
6512
  {
6400
- "name": "moveOffset",
6513
+ "name": "offset",
6401
6514
  "type": {
6402
6515
  "text": "1 | -1"
6403
6516
  }
6404
6517
  }
6405
6518
  ]
6406
6519
  },
6520
+ {
6521
+ "kind": "method",
6522
+ "name": "_handleSlotchange",
6523
+ "privacy": "private"
6524
+ },
6407
6525
  {
6408
6526
  "kind": "method",
6409
6527
  "name": "_updateItemActive",
@@ -6496,7 +6614,7 @@
6496
6614
  "type": {
6497
6615
  "text": "CustomEvent"
6498
6616
  },
6499
- "description": "If an item in the carousel is selected in some way, the method used to select it, the index number of the item displayed before it, and the index number of the item currently displayed are passed."
6617
+ "description": "Fired when the carousel index changes. `event.detail` contains the triggering `operation` (`\"prev\"`, `\"next\"`, `\"indicator\"`, or `\"swipe\"`) and `beforeCurrentIndex`; read `currentIndex` for the selected index."
6500
6618
  }
6501
6619
  ],
6502
6620
  "attributes": [
@@ -6506,8 +6624,35 @@
6506
6624
  "text": "number"
6507
6625
  },
6508
6626
  "default": "0",
6509
- "description": "The index number of the content currently being displayed.\nWhen controlling this property externally, listen to the `select` event and read the updated `currentIndex` from the component to keep your state in sync.",
6627
+ "description": "The index number of the content currently being displayed.",
6510
6628
  "fieldName": "currentIndex"
6629
+ },
6630
+ {
6631
+ "name": "loop",
6632
+ "type": {
6633
+ "text": "boolean"
6634
+ },
6635
+ "default": "false",
6636
+ "description": "Whether the carousel should loop back to the first item when the last item is reached.",
6637
+ "fieldName": "loop"
6638
+ },
6639
+ {
6640
+ "name": "arrows",
6641
+ "type": {
6642
+ "text": "\"outside\" | \"inside\""
6643
+ },
6644
+ "description": "The position of the navigation arrows. Can be either \"outside\" or \"inside\".\n- \"outside\": Arrows are placed outside the carousel viewport.\n- \"inside\": Arrows are placed inside the carousel viewport.\nThe inside option is useful for carousels with a smaller width, where the arrows can be placed over the content without taking up additional space.\nWhen the width of viewport is smaller than mobile breakpoint (768px), the arrows will always be placed inside regardless of this property.",
6645
+ "default": "\"outside\"",
6646
+ "fieldName": "arrows"
6647
+ },
6648
+ {
6649
+ "name": "duration",
6650
+ "type": {
6651
+ "text": "number"
6652
+ },
6653
+ "description": "The higher this value, the slower the image scrolling animation. However, this value does not affect the sliding speed when the user is dragging the image, as that depends on the user's dragging speed.",
6654
+ "default": "25",
6655
+ "fieldName": "duration"
6511
6656
  }
6512
6657
  ],
6513
6658
  "superclass": {
@@ -6582,8 +6727,7 @@
6582
6727
  "text": "string"
6583
6728
  },
6584
6729
  "default": "\"\"",
6585
- "description": "_Internal use._\nItem's aria label.\nControlled by `daikin-carousel`.",
6586
- "privacy": "private"
6730
+ "description": "The Aria label for the carousel item."
6587
6731
  },
6588
6732
  {
6589
6733
  "kind": "field",
@@ -7705,6 +7849,33 @@
7705
7849
  },
7706
7850
  "privacy": "private"
7707
7851
  },
7852
+ {
7853
+ "kind": "field",
7854
+ "name": "_hasLeftIcon",
7855
+ "type": {
7856
+ "text": "boolean"
7857
+ },
7858
+ "privacy": "private",
7859
+ "default": "false"
7860
+ },
7861
+ {
7862
+ "kind": "method",
7863
+ "name": "_handleLeftIconSlotChange",
7864
+ "privacy": "private",
7865
+ "return": {
7866
+ "type": {
7867
+ "text": "void"
7868
+ }
7869
+ },
7870
+ "parameters": [
7871
+ {
7872
+ "name": "event",
7873
+ "type": {
7874
+ "text": "Event"
7875
+ }
7876
+ }
7877
+ ]
7878
+ },
7708
7879
  {
7709
7880
  "kind": "method",
7710
7881
  "name": "_handleRemoveClick",
@@ -8224,6 +8395,16 @@
8224
8395
  "name": "_closePopup",
8225
8396
  "privacy": "private"
8226
8397
  },
8398
+ {
8399
+ "kind": "field",
8400
+ "name": "_shouldRestoreFocusOnClose",
8401
+ "type": {
8402
+ "text": "boolean"
8403
+ },
8404
+ "privacy": "private",
8405
+ "default": "false",
8406
+ "description": "Whether focus should be restored to the input the next time the popup closes.\nThis is only `true` right before selecting an option, where hiding the popover blurs the\nclicked option button to `document.body`. It must stay `false` for closes caused by the\nfocus/click moving to something else (outside click, focusout), otherwise we would steal\nfocus back from whatever the user actually clicked."
8407
+ },
8227
8408
  {
8228
8409
  "kind": "method",
8229
8410
  "name": "_handleLeftIconSlotChange",
@@ -8268,7 +8449,13 @@
8268
8449
  "type": {
8269
8450
  "text": "void"
8270
8451
  }
8271
- }
8452
+ },
8453
+ "parameters": [
8454
+ {
8455
+ "name": "shouldFocusInput",
8456
+ "default": "false"
8457
+ }
8458
+ ]
8272
8459
  },
8273
8460
  {
8274
8461
  "kind": "method",
@@ -22152,34 +22339,23 @@
22152
22339
  },
22153
22340
  {
22154
22341
  "kind": "javascript-module",
22155
- "path": "dist/es/components/text-field/daikin-text-field.js",
22342
+ "path": "dist/es/components/text-masked-field/daikin-text-masked-field.js",
22156
22343
  "declarations": [
22157
22344
  {
22158
22345
  "kind": "class",
22159
- "description": "The text field component is a UI element that allows users to input single-line text data.\nIt functions similarly to the HTML `<input type=\"text\">` tag, providing a simple and efficient way for users to enter and edit short pieces of texts, such as names, email addresses, or search queries.\nCan be used within `daikin-input-group` component.\n\nHierarchies:\n- `daikin-text-field` (can be used solely)\n- `daikin-input-group` > `daikin-text-field`",
22160
- "name": "DaikinTextField",
22346
+ "description": "The text masked field component is a UI element that allows users to input single-line text data with input masking support.\nIt functions similarly to the HTML `<input type=\"text\">` tag, providing a simple and efficient way for users to enter and edit short pieces of texts with masking functionality using IMask.js.\nCan be used within `daikin-input-group` component.\n\nHierarchies:\n- `daikin-text-masked-field` (can be used solely)\n- `daikin-input-group` > `daikin-text-masked-field`",
22347
+ "name": "DaikinTextMaskedField",
22161
22348
  "slots": [
22162
22349
  {
22163
- "description": "Specify the icon you want to use on the left. You can also use something other than `daikin-icon`. Available only if the type is one of: - `\"text\"` - `\"number\"` - `\"password\"` - `\"email\"` - `\"tel\"`",
22350
+ "description": "Specify the icon you want to use on the left. You can also use something other than `daikin-icon`.",
22164
22351
  "name": "left-icon"
22165
22352
  },
22166
22353
  {
22167
- "description": "Specify the icon you want to use on the right. You can also use something other than `daikin-icon`. Available only if the type is one of: - `\"text\"` - `\"email\"` - `\"tel\"`",
22354
+ "description": "Specify the icon you want to use on the right. You can also use something other than `daikin-icon`.",
22168
22355
  "name": "right-icon"
22169
22356
  }
22170
22357
  ],
22171
22358
  "members": [
22172
- {
22173
- "kind": "field",
22174
- "name": "type",
22175
- "type": {
22176
- "text": "\"text\" | \"number\" | \"password\" | \"email\" | \"tel\" | \"search\""
22177
- },
22178
- "description": "Type of field.\n\n- `\"text\"`: Basic text input with optional left and right icon slots.\n- `\"number\"`: Numeric input with increment/decrement buttons, arrow key support, and optional left icon slot.\n- `\"password\"`: Password input with show/hide toggle button to control mask of password and optional left icon slot.\n- `\"email\"`: Email input with optional left and right icon slots.\n- `\"tel\"`: Telephone input with optional left and right icon slots.\n- `\"search\"`: Search input with built-in search icon and clear button when value is present.",
22179
- "default": "\"text\"",
22180
- "attribute": "type",
22181
- "reflects": true
22182
- },
22183
22359
  {
22184
22360
  "kind": "field",
22185
22361
  "name": "placeholder",
@@ -22197,7 +22373,7 @@
22197
22373
  "text": "boolean"
22198
22374
  },
22199
22375
  "default": "false",
22200
- "description": "Whether the text field is readonly.",
22376
+ "description": "Whether the text masked field is readonly.",
22201
22377
  "attribute": "readonly",
22202
22378
  "reflects": true
22203
22379
  },
@@ -22208,7 +22384,7 @@
22208
22384
  "text": "boolean"
22209
22385
  },
22210
22386
  "default": "false",
22211
- "description": "Whether the text field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22387
+ "description": "Whether the text masked field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22212
22388
  "attribute": "disabled",
22213
22389
  "reflects": true
22214
22390
  },
@@ -22219,7 +22395,7 @@
22219
22395
  "text": "boolean"
22220
22396
  },
22221
22397
  "default": "false",
22222
- "description": "Whether the text field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22398
+ "description": "Whether the text masked field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22223
22399
  "attribute": "required",
22224
22400
  "reflects": true
22225
22401
  },
@@ -22258,79 +22434,42 @@
22258
22434
  },
22259
22435
  {
22260
22436
  "kind": "field",
22261
- "name": "step",
22437
+ "name": "pattern",
22262
22438
  "type": {
22263
22439
  "text": "string | null"
22264
22440
  },
22265
22441
  "default": "null",
22266
- "description": "Interval between values. This is valid when `type=\"number\"`.",
22267
- "attribute": "step",
22442
+ "description": "The pattern of value.",
22443
+ "attribute": "pattern",
22268
22444
  "reflects": true
22269
22445
  },
22270
22446
  {
22271
22447
  "kind": "field",
22272
- "name": "stepMode",
22448
+ "name": "mask",
22273
22449
  "type": {
22274
- "text": "\"free\" | \"snap\""
22450
+ "text": "string | FactoryOpts | null"
22275
22451
  },
22276
- "default": "\"free\"",
22277
- "description": "When `type=\"number\"`, whether to allow free input or snap to step boundaries.\n- `\"free\"`: Do not snap to step boundaries; increment/decrement relative to the current value.\n- `\"snap\"`: If the current value is off a step boundary, snap to the next/previous step boundary in the given direction (and finish without applying an extra step).\nNote that step boundaries are aligned to the `min` value if specified; otherwise, they are aligned to `0`. For example, with `step=\"3\"`, boundaries are `..., -3, 0, 3, 6, ...`. If `min=\"-4\"` is also set, the boundaries become `-4, -1, 2, 5, ...`.",
22278
- "attribute": "step-mode",
22279
- "reflects": true
22452
+ "default": "null",
22453
+ "description": "Input mask configuration. When provided as a string, it will be used as `{ mask: string, lazy: false }`.\nWhen provided as an object, it will be passed directly to IMask.\n\nPattern symbols:\n- `0` - any digit\n- `a` - any letter\n- `*` - any char\n- `[]` - make input optional\n- `{}` - include fixed part in unmasked value\n- `` ` `` - prevent symbols shift back\n- Other chars are treated as fixed\n- Use `\\\\` to escape definition characters (e.g., `\\\\0`)\n\nExamples:\n- `\"00/00/0000\"` - date format (MM/DD/YYYY)\n- `\"{#}000[aaa]/NIC-\\`*[**]\"` - complex pattern with optional parts\n\nFor more details, see: https://imask.js.org/guide.html#masked-pattern"
22280
22454
  },
22281
22455
  {
22282
22456
  "kind": "field",
22283
- "name": "min",
22457
+ "name": "autocomplete",
22284
22458
  "type": {
22285
- "text": "string | null"
22459
+ "text": "HTMLInputElement[\"autocomplete\"]"
22286
22460
  },
22287
- "default": "null",
22288
- "description": "The minimum value. This is valid when `type=\"number\"`.",
22289
- "attribute": "min",
22461
+ "description": "Value of `autocomplete` attribute of the internal `<input>`.",
22462
+ "attribute": "autocomplete",
22290
22463
  "reflects": true
22291
22464
  },
22292
22465
  {
22293
22466
  "kind": "field",
22294
- "name": "max",
22467
+ "name": "_unmaskedValue",
22295
22468
  "type": {
22296
- "text": "string | null"
22297
- },
22298
- "default": "null",
22299
- "description": "The maximum value. This is valid when `type=\"number\"`.",
22300
- "attribute": "max",
22301
- "reflects": true
22302
- },
22303
- {
22304
- "kind": "field",
22305
- "name": "pattern",
22306
- "type": {
22307
- "text": "string | null"
22308
- },
22309
- "default": "null",
22310
- "description": "The pattern of value.",
22311
- "attribute": "pattern",
22312
- "reflects": true
22313
- },
22314
- {
22315
- "kind": "field",
22316
- "name": "autocomplete",
22317
- "type": {
22318
- "text": "HTMLInputElement[\"autocomplete\"]"
22319
- },
22320
- "description": "Value of `autocomplete` attribute of the internal `<input>`.",
22321
- "attribute": "autocomplete",
22322
- "reflects": true
22323
- },
22324
- {
22325
- "kind": "field",
22326
- "name": "showPassword",
22327
- "type": {
22328
- "text": "boolean"
22469
+ "text": "string"
22329
22470
  },
22330
- "default": "false",
22331
- "description": "When `type=\"password\"`, whether to display the password with a black dot or as text.",
22332
- "attribute": "show-password",
22333
- "reflects": true
22471
+ "privacy": "private",
22472
+ "default": "\"\""
22334
22473
  },
22335
22474
  {
22336
22475
  "kind": "field",
@@ -22363,31 +22502,44 @@
22363
22502
  {
22364
22503
  "kind": "field",
22365
22504
  "name": "_inputRef",
22505
+ "privacy": "private"
22506
+ },
22507
+ {
22508
+ "kind": "field",
22509
+ "name": "_maskInstance",
22366
22510
  "type": {
22367
- "text": "Ref<HTMLInputElement>"
22511
+ "text": "InputMask<object> | null"
22368
22512
  },
22369
22513
  "privacy": "private",
22370
- "readonly": true
22514
+ "default": "null"
22371
22515
  },
22372
22516
  {
22373
22517
  "kind": "method",
22374
- "name": "focus",
22518
+ "name": "_initializeMask",
22519
+ "privacy": "private",
22375
22520
  "return": {
22376
22521
  "type": {
22377
22522
  "text": "void"
22378
22523
  }
22379
- },
22380
- "parameters": [
22381
- {
22382
- "name": "options",
22383
- "optional": true,
22384
- "type": {
22385
- "text": "FocusOptions"
22386
- },
22387
- "description": "focus options"
22524
+ }
22525
+ },
22526
+ {
22527
+ "kind": "method",
22528
+ "name": "_destroyMask",
22529
+ "privacy": "private",
22530
+ "return": {
22531
+ "type": {
22532
+ "text": "void"
22388
22533
  }
22389
- ],
22390
- "description": "Focuses on the inner input."
22534
+ }
22535
+ },
22536
+ {
22537
+ "kind": "field",
22538
+ "name": "unmaskedValue",
22539
+ "type": {
22540
+ "text": "string"
22541
+ },
22542
+ "description": "The unmasked value of the input."
22391
22543
  },
22392
22544
  {
22393
22545
  "kind": "method",
@@ -22435,36 +22587,7 @@
22435
22587
  },
22436
22588
  {
22437
22589
  "kind": "method",
22438
- "name": "_handleClearClick",
22439
- "privacy": "private",
22440
- "return": {
22441
- "type": {
22442
- "text": "void"
22443
- }
22444
- }
22445
- },
22446
- {
22447
- "kind": "method",
22448
- "name": "_handleKeyDown",
22449
- "privacy": "private",
22450
- "return": {
22451
- "type": {
22452
- "text": "void"
22453
- }
22454
- },
22455
- "parameters": [
22456
- {
22457
- "name": "event",
22458
- "type": {
22459
- "text": "KeyboardEvent"
22460
- }
22461
- }
22462
- ]
22463
- },
22464
- {
22465
- "kind": "method",
22466
- "name": "_updateNumberValue",
22467
- "privacy": "private",
22590
+ "name": "focus",
22468
22591
  "return": {
22469
22592
  "type": {
22470
22593
  "text": "void"
@@ -22472,12 +22595,15 @@
22472
22595
  },
22473
22596
  "parameters": [
22474
22597
  {
22475
- "name": "sign",
22598
+ "name": "options",
22599
+ "optional": true,
22476
22600
  "type": {
22477
- "text": "1 | -1"
22478
- }
22601
+ "text": "FocusOptions"
22602
+ },
22603
+ "description": "focus options"
22479
22604
  }
22480
- ]
22605
+ ],
22606
+ "description": "Focuses on the inner input."
22481
22607
  },
22482
22608
  {
22483
22609
  "kind": "method",
@@ -22489,16 +22615,6 @@
22489
22615
  }
22490
22616
  }
22491
22617
  },
22492
- {
22493
- "kind": "method",
22494
- "name": "_handleShowPasswordClick",
22495
- "privacy": "private",
22496
- "return": {
22497
- "type": {
22498
- "text": "void"
22499
- }
22500
- }
22501
- },
22502
22618
  {
22503
22619
  "kind": "method",
22504
22620
  "name": "reflectInputGroup",
@@ -22765,18 +22881,8 @@
22765
22881
  "description": "A cloned event of a [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event) emitted from the inner `<input>` element."
22766
22882
  },
22767
22883
  {
22768
- "name": "input",
22769
- "type": {
22770
- "text": "Event"
22771
- },
22772
- "description": "A retargeted event of a [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event)."
22773
- },
22774
- {
22775
- "name": "toggle",
22776
- "type": {
22777
- "text": "Event"
22778
- },
22779
- "description": "Emitted when the user toggles the password mask."
22884
+ "description": "A retargeted event of a [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).",
22885
+ "name": "input"
22780
22886
  }
22781
22887
  ],
22782
22888
  "attributes": [
@@ -22817,15 +22923,6 @@
22817
22923
  "module": "dist/es/base/dds-form-element.js"
22818
22924
  }
22819
22925
  },
22820
- {
22821
- "name": "type",
22822
- "type": {
22823
- "text": "\"text\" | \"number\" | \"password\" | \"email\" | \"tel\" | \"search\""
22824
- },
22825
- "description": "Type of field.\n\n- `\"text\"`: Basic text input with optional left and right icon slots.\n- `\"number\"`: Numeric input with increment/decrement buttons, arrow key support, and optional left icon slot.\n- `\"password\"`: Password input with show/hide toggle button to control mask of password and optional left icon slot.\n- `\"email\"`: Email input with optional left and right icon slots.\n- `\"tel\"`: Telephone input with optional left and right icon slots.\n- `\"search\"`: Search input with built-in search icon and clear button when value is present.",
22826
- "default": "\"text\"",
22827
- "fieldName": "type"
22828
- },
22829
22926
  {
22830
22927
  "name": "placeholder",
22831
22928
  "type": {
@@ -22840,7 +22937,7 @@
22840
22937
  "text": "boolean"
22841
22938
  },
22842
22939
  "default": "false",
22843
- "description": "Whether the text field is readonly.",
22940
+ "description": "Whether the text masked field is readonly.",
22844
22941
  "fieldName": "readonly"
22845
22942
  },
22846
22943
  {
@@ -22849,7 +22946,7 @@
22849
22946
  "text": "boolean"
22850
22947
  },
22851
22948
  "default": "false",
22852
- "description": "Whether the text field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22949
+ "description": "Whether the text masked field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22853
22950
  "fieldName": "disabled"
22854
22951
  },
22855
22952
  {
@@ -22858,7 +22955,7 @@
22858
22955
  "text": "boolean"
22859
22956
  },
22860
22957
  "default": "false",
22861
- "description": "Whether the text field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22958
+ "description": "Whether the text masked field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
22862
22959
  "fieldName": "required"
22863
22960
  },
22864
22961
  {
@@ -22888,42 +22985,6 @@
22888
22985
  "description": "Maximum length of value.",
22889
22986
  "fieldName": "maxlength"
22890
22987
  },
22891
- {
22892
- "name": "step",
22893
- "type": {
22894
- "text": "string | null"
22895
- },
22896
- "default": "null",
22897
- "description": "Interval between values. This is valid when `type=\"number\"`.",
22898
- "fieldName": "step"
22899
- },
22900
- {
22901
- "name": "step-mode",
22902
- "type": {
22903
- "text": "\"free\" | \"snap\""
22904
- },
22905
- "default": "\"free\"",
22906
- "description": "When `type=\"number\"`, whether to allow free input or snap to step boundaries.\n- `\"free\"`: Do not snap to step boundaries; increment/decrement relative to the current value.\n- `\"snap\"`: If the current value is off a step boundary, snap to the next/previous step boundary in the given direction (and finish without applying an extra step).\nNote that step boundaries are aligned to the `min` value if specified; otherwise, they are aligned to `0`. For example, with `step=\"3\"`, boundaries are `..., -3, 0, 3, 6, ...`. If `min=\"-4\"` is also set, the boundaries become `-4, -1, 2, 5, ...`.",
22907
- "fieldName": "stepMode"
22908
- },
22909
- {
22910
- "name": "min",
22911
- "type": {
22912
- "text": "string | null"
22913
- },
22914
- "default": "null",
22915
- "description": "The minimum value. This is valid when `type=\"number\"`.",
22916
- "fieldName": "min"
22917
- },
22918
- {
22919
- "name": "max",
22920
- "type": {
22921
- "text": "string | null"
22922
- },
22923
- "default": "null",
22924
- "description": "The maximum value. This is valid when `type=\"number\"`.",
22925
- "fieldName": "max"
22926
- },
22927
22988
  {
22928
22989
  "name": "pattern",
22929
22990
  "type": {
@@ -22940,47 +23001,54 @@
22940
23001
  },
22941
23002
  "description": "Value of `autocomplete` attribute of the internal `<input>`.",
22942
23003
  "fieldName": "autocomplete"
22943
- },
22944
- {
22945
- "name": "show-password",
22946
- "type": {
22947
- "text": "boolean"
22948
- },
22949
- "default": "false",
22950
- "description": "When `type=\"password\"`, whether to display the password with a black dot or as text.",
22951
- "fieldName": "showPassword"
22952
23004
  }
22953
23005
  ],
22954
23006
  "superclass": {
22955
23007
  "name": "DDSFormElement",
22956
23008
  "module": "/src/base"
22957
23009
  },
22958
- "tagName": "daikin-text-field",
23010
+ "tagName": "daikin-text-masked-field",
22959
23011
  "customElement": true
22960
23012
  }
22961
23013
  ],
22962
23014
  "exports": [
22963
23015
  {
22964
23016
  "kind": "js",
22965
- "name": "DaikinTextField",
23017
+ "name": "FactoryOpts",
22966
23018
  "declaration": {
22967
- "name": "DaikinTextField",
22968
- "module": "src/components/text-field/daikin-text-field.ts"
23019
+ "name": "FactoryOpts",
23020
+ "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
23021
+ }
23022
+ },
23023
+ {
23024
+ "kind": "js",
23025
+ "name": "InputMask",
23026
+ "declaration": {
23027
+ "name": "InputMask",
23028
+ "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
23029
+ }
23030
+ },
23031
+ {
23032
+ "kind": "js",
23033
+ "name": "DaikinTextMaskedField",
23034
+ "declaration": {
23035
+ "name": "DaikinTextMaskedField",
23036
+ "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
22969
23037
  }
22970
23038
  },
22971
23039
  {
22972
23040
  "kind": "custom-element-definition",
22973
- "name": "daikin-text-field",
23041
+ "name": "daikin-text-masked-field",
22974
23042
  "declaration": {
22975
- "name": "DaikinTextField",
22976
- "module": "src/components/text-field/daikin-text-field.ts"
23043
+ "name": "DaikinTextMaskedField",
23044
+ "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
22977
23045
  }
22978
23046
  }
22979
23047
  ]
22980
23048
  },
22981
23049
  {
22982
23050
  "kind": "javascript-module",
22983
- "path": "dist/es/components/text-field/index.js",
23051
+ "path": "dist/es/components/text-masked-field/index.js",
22984
23052
  "declarations": [],
22985
23053
  "exports": [
22986
23054
  {
@@ -22988,79 +23056,41 @@
22988
23056
  "name": "*",
22989
23057
  "declaration": {
22990
23058
  "name": "*",
22991
- "module": "src/components/text-field/daikin-text-field"
23059
+ "module": "src/components/text-masked-field/daikin-text-masked-field"
22992
23060
  }
22993
23061
  }
22994
23062
  ]
22995
23063
  },
22996
23064
  {
22997
23065
  "kind": "javascript-module",
22998
- "path": "dist/es/components/text-field/number-utils.js",
23066
+ "path": "dist/es/components/text-field/daikin-text-field.js",
22999
23067
  "declarations": [
23000
23068
  {
23001
- "kind": "function",
23002
- "name": "updateNumberValue",
23003
- "return": {
23004
- "type": {
23005
- "text": ""
23006
- }
23007
- },
23008
- "parameters": [
23069
+ "kind": "class",
23070
+ "description": "The text field component is a UI element that allows users to input single-line text data.\nIt functions similarly to the HTML `<input type=\"text\">` tag, providing a simple and efficient way for users to enter and edit short pieces of texts, such as names, email addresses, or search queries.\nCan be used within `daikin-input-group` component.\n\nHierarchies:\n- `daikin-text-field` (can be used solely)\n- `daikin-input-group` > `daikin-text-field`",
23071
+ "name": "DaikinTextField",
23072
+ "slots": [
23009
23073
  {
23010
- "name": "currentValue",
23011
- "type": {
23012
- "text": "string"
23013
- },
23014
- "description": "Current value as string"
23015
- },
23016
- {
23017
- "name": "direction",
23018
- "type": {
23019
- "text": "1 | -1"
23020
- },
23021
- "description": "Direction: 1 for increment, -1 for decrement"
23022
- },
23023
- {
23024
- "name": "options",
23025
- "type": {
23026
- "text": "NumberUpdateOptions"
23027
- },
23028
- "description": "The update options"
23029
- }
23030
- ],
23031
- "description": "Updates a number value according to step constraints and min/max bounds.\n\nLogic (compliant with Google Chrome behavior):\n0. Valid output range: min <= value <= max, and (value - min) is a multiple of step, or value equals min/max\n1. If max < min, direction up goes to min (max value), direction down goes to max (min value)\n2. If value is out of range or not on step boundary, round to nearest step in the direction and finish\n3. Otherwise, increment/decrement by step"
23032
- }
23033
- ],
23034
- "exports": [
23035
- {
23036
- "kind": "js",
23037
- "name": "updateNumberValue",
23038
- "declaration": {
23039
- "name": "updateNumberValue",
23040
- "module": "src/components/text-field/number-utils.ts"
23041
- }
23042
- }
23043
- ]
23044
- },
23045
- {
23046
- "kind": "javascript-module",
23047
- "path": "dist/es/components/text-masked-field/daikin-text-masked-field.js",
23048
- "declarations": [
23049
- {
23050
- "kind": "class",
23051
- "description": "The text masked field component is a UI element that allows users to input single-line text data with input masking support.\nIt functions similarly to the HTML `<input type=\"text\">` tag, providing a simple and efficient way for users to enter and edit short pieces of texts with masking functionality using IMask.js.\nCan be used within `daikin-input-group` component.\n\nHierarchies:\n- `daikin-text-masked-field` (can be used solely)\n- `daikin-input-group` > `daikin-text-masked-field`",
23052
- "name": "DaikinTextMaskedField",
23053
- "slots": [
23054
- {
23055
- "description": "Specify the icon you want to use on the left. You can also use something other than `daikin-icon`.",
23074
+ "description": "Specify the icon you want to use on the left. You can also use something other than `daikin-icon`. Available only if the type is one of: - `\"text\"` - `\"number\"` - `\"password\"` - `\"email\"` - `\"tel\"`",
23056
23075
  "name": "left-icon"
23057
23076
  },
23058
23077
  {
23059
- "description": "Specify the icon you want to use on the right. You can also use something other than `daikin-icon`.",
23078
+ "description": "Specify the icon you want to use on the right. You can also use something other than `daikin-icon`. Available only if the type is one of: - `\"text\"` - `\"email\"` - `\"tel\"`",
23060
23079
  "name": "right-icon"
23061
23080
  }
23062
23081
  ],
23063
23082
  "members": [
23083
+ {
23084
+ "kind": "field",
23085
+ "name": "type",
23086
+ "type": {
23087
+ "text": "\"text\" | \"number\" | \"password\" | \"email\" | \"tel\" | \"search\""
23088
+ },
23089
+ "description": "Type of field.\n\n- `\"text\"`: Basic text input with optional left and right icon slots.\n- `\"number\"`: Numeric input with increment/decrement buttons, arrow key support, and optional left icon slot.\n- `\"password\"`: Password input with show/hide toggle button to control mask of password and optional left icon slot.\n- `\"email\"`: Email input with optional left and right icon slots.\n- `\"tel\"`: Telephone input with optional left and right icon slots.\n- `\"search\"`: Search input with built-in search icon and clear button when value is present.",
23090
+ "default": "\"text\"",
23091
+ "attribute": "type",
23092
+ "reflects": true
23093
+ },
23064
23094
  {
23065
23095
  "kind": "field",
23066
23096
  "name": "placeholder",
@@ -23078,7 +23108,7 @@
23078
23108
  "text": "boolean"
23079
23109
  },
23080
23110
  "default": "false",
23081
- "description": "Whether the text masked field is readonly.",
23111
+ "description": "Whether the text field is readonly.",
23082
23112
  "attribute": "readonly",
23083
23113
  "reflects": true
23084
23114
  },
@@ -23089,7 +23119,7 @@
23089
23119
  "text": "boolean"
23090
23120
  },
23091
23121
  "default": "false",
23092
- "description": "Whether the text masked field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23122
+ "description": "Whether the text field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23093
23123
  "attribute": "disabled",
23094
23124
  "reflects": true
23095
23125
  },
@@ -23100,7 +23130,7 @@
23100
23130
  "text": "boolean"
23101
23131
  },
23102
23132
  "default": "false",
23103
- "description": "Whether the text masked field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23133
+ "description": "Whether the text field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23104
23134
  "attribute": "required",
23105
23135
  "reflects": true
23106
23136
  },
@@ -23139,23 +23169,58 @@
23139
23169
  },
23140
23170
  {
23141
23171
  "kind": "field",
23142
- "name": "pattern",
23172
+ "name": "step",
23143
23173
  "type": {
23144
23174
  "text": "string | null"
23145
23175
  },
23146
23176
  "default": "null",
23147
- "description": "The pattern of value.",
23148
- "attribute": "pattern",
23177
+ "description": "Interval between values. This is valid when `type=\"number\"`.",
23178
+ "attribute": "step",
23149
23179
  "reflects": true
23150
23180
  },
23151
23181
  {
23152
23182
  "kind": "field",
23153
- "name": "mask",
23183
+ "name": "stepMode",
23154
23184
  "type": {
23155
- "text": "string | FactoryOpts | null"
23185
+ "text": "\"free\" | \"snap\""
23186
+ },
23187
+ "default": "\"free\"",
23188
+ "description": "When `type=\"number\"`, whether to allow free input or snap to step boundaries.\n- `\"free\"`: Do not snap to step boundaries; increment/decrement relative to the current value.\n- `\"snap\"`: If the current value is off a step boundary, snap to the next/previous step boundary in the given direction (and finish without applying an extra step).\nNote that step boundaries are aligned to the `min` value if specified; otherwise, they are aligned to `0`. For example, with `step=\"3\"`, boundaries are `..., -3, 0, 3, 6, ...`. If `min=\"-4\"` is also set, the boundaries become `-4, -1, 2, 5, ...`.",
23189
+ "attribute": "step-mode",
23190
+ "reflects": true
23191
+ },
23192
+ {
23193
+ "kind": "field",
23194
+ "name": "min",
23195
+ "type": {
23196
+ "text": "string | null"
23156
23197
  },
23157
23198
  "default": "null",
23158
- "description": "Input mask configuration. When provided as a string, it will be used as `{ mask: string, lazy: false }`.\nWhen provided as an object, it will be passed directly to IMask.\n\nPattern symbols:\n- `0` - any digit\n- `a` - any letter\n- `*` - any char\n- `[]` - make input optional\n- `{}` - include fixed part in unmasked value\n- `` ` `` - prevent symbols shift back\n- Other chars are treated as fixed\n- Use `\\\\` to escape definition characters (e.g., `\\\\0`)\n\nExamples:\n- `\"00/00/0000\"` - date format (MM/DD/YYYY)\n- `\"{#}000[aaa]/NIC-\\`*[**]\"` - complex pattern with optional parts\n\nFor more details, see: https://imask.js.org/guide.html#masked-pattern"
23199
+ "description": "The minimum value. This is valid when `type=\"number\"`.",
23200
+ "attribute": "min",
23201
+ "reflects": true
23202
+ },
23203
+ {
23204
+ "kind": "field",
23205
+ "name": "max",
23206
+ "type": {
23207
+ "text": "string | null"
23208
+ },
23209
+ "default": "null",
23210
+ "description": "The maximum value. This is valid when `type=\"number\"`.",
23211
+ "attribute": "max",
23212
+ "reflects": true
23213
+ },
23214
+ {
23215
+ "kind": "field",
23216
+ "name": "pattern",
23217
+ "type": {
23218
+ "text": "string | null"
23219
+ },
23220
+ "default": "null",
23221
+ "description": "The pattern of value.",
23222
+ "attribute": "pattern",
23223
+ "reflects": true
23159
23224
  },
23160
23225
  {
23161
23226
  "kind": "field",
@@ -23169,12 +23234,14 @@
23169
23234
  },
23170
23235
  {
23171
23236
  "kind": "field",
23172
- "name": "_unmaskedValue",
23237
+ "name": "showPassword",
23173
23238
  "type": {
23174
- "text": "string"
23239
+ "text": "boolean"
23175
23240
  },
23176
- "privacy": "private",
23177
- "default": "\"\""
23241
+ "default": "false",
23242
+ "description": "When `type=\"password\"`, whether to display the password with a black dot or as text.",
23243
+ "attribute": "show-password",
23244
+ "reflects": true
23178
23245
  },
23179
23246
  {
23180
23247
  "kind": "field",
@@ -23207,44 +23274,31 @@
23207
23274
  {
23208
23275
  "kind": "field",
23209
23276
  "name": "_inputRef",
23210
- "privacy": "private"
23211
- },
23212
- {
23213
- "kind": "field",
23214
- "name": "_maskInstance",
23215
23277
  "type": {
23216
- "text": "InputMask<object> | null"
23278
+ "text": "Ref<HTMLInputElement>"
23217
23279
  },
23218
23280
  "privacy": "private",
23219
- "default": "null"
23220
- },
23221
- {
23222
- "kind": "method",
23223
- "name": "_initializeMask",
23224
- "privacy": "private",
23225
- "return": {
23226
- "type": {
23227
- "text": "void"
23228
- }
23229
- }
23281
+ "readonly": true
23230
23282
  },
23231
23283
  {
23232
23284
  "kind": "method",
23233
- "name": "_destroyMask",
23234
- "privacy": "private",
23285
+ "name": "focus",
23235
23286
  "return": {
23236
23287
  "type": {
23237
23288
  "text": "void"
23238
23289
  }
23239
- }
23240
- },
23241
- {
23242
- "kind": "field",
23243
- "name": "unmaskedValue",
23244
- "type": {
23245
- "text": "string"
23246
23290
  },
23247
- "description": "The unmasked value of the input."
23291
+ "parameters": [
23292
+ {
23293
+ "name": "options",
23294
+ "optional": true,
23295
+ "type": {
23296
+ "text": "FocusOptions"
23297
+ },
23298
+ "description": "focus options"
23299
+ }
23300
+ ],
23301
+ "description": "Focuses on the inner input."
23248
23302
  },
23249
23303
  {
23250
23304
  "kind": "method",
@@ -23292,7 +23346,18 @@
23292
23346
  },
23293
23347
  {
23294
23348
  "kind": "method",
23295
- "name": "focus",
23349
+ "name": "_handleClearClick",
23350
+ "privacy": "private",
23351
+ "return": {
23352
+ "type": {
23353
+ "text": "void"
23354
+ }
23355
+ }
23356
+ },
23357
+ {
23358
+ "kind": "method",
23359
+ "name": "_handleKeyDown",
23360
+ "privacy": "private",
23296
23361
  "return": {
23297
23362
  "type": {
23298
23363
  "text": "void"
@@ -23300,15 +23365,30 @@
23300
23365
  },
23301
23366
  "parameters": [
23302
23367
  {
23303
- "name": "options",
23304
- "optional": true,
23368
+ "name": "event",
23305
23369
  "type": {
23306
- "text": "FocusOptions"
23307
- },
23308
- "description": "focus options"
23370
+ "text": "KeyboardEvent"
23371
+ }
23309
23372
  }
23310
- ],
23311
- "description": "Focuses on the inner input."
23373
+ ]
23374
+ },
23375
+ {
23376
+ "kind": "method",
23377
+ "name": "_updateNumberValue",
23378
+ "privacy": "private",
23379
+ "return": {
23380
+ "type": {
23381
+ "text": "void"
23382
+ }
23383
+ },
23384
+ "parameters": [
23385
+ {
23386
+ "name": "sign",
23387
+ "type": {
23388
+ "text": "1 | -1"
23389
+ }
23390
+ }
23391
+ ]
23312
23392
  },
23313
23393
  {
23314
23394
  "kind": "method",
@@ -23320,6 +23400,16 @@
23320
23400
  }
23321
23401
  }
23322
23402
  },
23403
+ {
23404
+ "kind": "method",
23405
+ "name": "_handleShowPasswordClick",
23406
+ "privacy": "private",
23407
+ "return": {
23408
+ "type": {
23409
+ "text": "void"
23410
+ }
23411
+ }
23412
+ },
23323
23413
  {
23324
23414
  "kind": "method",
23325
23415
  "name": "reflectInputGroup",
@@ -23586,8 +23676,18 @@
23586
23676
  "description": "A cloned event of a [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event) emitted from the inner `<input>` element."
23587
23677
  },
23588
23678
  {
23589
- "description": "A retargeted event of a [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).",
23590
- "name": "input"
23679
+ "name": "input",
23680
+ "type": {
23681
+ "text": "Event"
23682
+ },
23683
+ "description": "A retargeted event of a [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event)."
23684
+ },
23685
+ {
23686
+ "name": "toggle",
23687
+ "type": {
23688
+ "text": "Event"
23689
+ },
23690
+ "description": "Emitted when the user toggles the password mask."
23591
23691
  }
23592
23692
  ],
23593
23693
  "attributes": [
@@ -23628,6 +23728,15 @@
23628
23728
  "module": "dist/es/base/dds-form-element.js"
23629
23729
  }
23630
23730
  },
23731
+ {
23732
+ "name": "type",
23733
+ "type": {
23734
+ "text": "\"text\" | \"number\" | \"password\" | \"email\" | \"tel\" | \"search\""
23735
+ },
23736
+ "description": "Type of field.\n\n- `\"text\"`: Basic text input with optional left and right icon slots.\n- `\"number\"`: Numeric input with increment/decrement buttons, arrow key support, and optional left icon slot.\n- `\"password\"`: Password input with show/hide toggle button to control mask of password and optional left icon slot.\n- `\"email\"`: Email input with optional left and right icon slots.\n- `\"tel\"`: Telephone input with optional left and right icon slots.\n- `\"search\"`: Search input with built-in search icon and clear button when value is present.",
23737
+ "default": "\"text\"",
23738
+ "fieldName": "type"
23739
+ },
23631
23740
  {
23632
23741
  "name": "placeholder",
23633
23742
  "type": {
@@ -23642,7 +23751,7 @@
23642
23751
  "text": "boolean"
23643
23752
  },
23644
23753
  "default": "false",
23645
- "description": "Whether the text masked field is readonly.",
23754
+ "description": "Whether the text field is readonly.",
23646
23755
  "fieldName": "readonly"
23647
23756
  },
23648
23757
  {
@@ -23651,7 +23760,7 @@
23651
23760
  "text": "boolean"
23652
23761
  },
23653
23762
  "default": "false",
23654
- "description": "Whether the text masked field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23763
+ "description": "Whether the text field is disabled.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23655
23764
  "fieldName": "disabled"
23656
23765
  },
23657
23766
  {
@@ -23660,7 +23769,7 @@
23660
23769
  "text": "boolean"
23661
23770
  },
23662
23771
  "default": "false",
23663
- "description": "Whether the text masked field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23772
+ "description": "Whether the text field is required.\nControlled by `daikin-input-group` when used within `daikin-input-group`.",
23664
23773
  "fieldName": "required"
23665
23774
  },
23666
23775
  {
@@ -23690,6 +23799,42 @@
23690
23799
  "description": "Maximum length of value.",
23691
23800
  "fieldName": "maxlength"
23692
23801
  },
23802
+ {
23803
+ "name": "step",
23804
+ "type": {
23805
+ "text": "string | null"
23806
+ },
23807
+ "default": "null",
23808
+ "description": "Interval between values. This is valid when `type=\"number\"`.",
23809
+ "fieldName": "step"
23810
+ },
23811
+ {
23812
+ "name": "step-mode",
23813
+ "type": {
23814
+ "text": "\"free\" | \"snap\""
23815
+ },
23816
+ "default": "\"free\"",
23817
+ "description": "When `type=\"number\"`, whether to allow free input or snap to step boundaries.\n- `\"free\"`: Do not snap to step boundaries; increment/decrement relative to the current value.\n- `\"snap\"`: If the current value is off a step boundary, snap to the next/previous step boundary in the given direction (and finish without applying an extra step).\nNote that step boundaries are aligned to the `min` value if specified; otherwise, they are aligned to `0`. For example, with `step=\"3\"`, boundaries are `..., -3, 0, 3, 6, ...`. If `min=\"-4\"` is also set, the boundaries become `-4, -1, 2, 5, ...`.",
23818
+ "fieldName": "stepMode"
23819
+ },
23820
+ {
23821
+ "name": "min",
23822
+ "type": {
23823
+ "text": "string | null"
23824
+ },
23825
+ "default": "null",
23826
+ "description": "The minimum value. This is valid when `type=\"number\"`.",
23827
+ "fieldName": "min"
23828
+ },
23829
+ {
23830
+ "name": "max",
23831
+ "type": {
23832
+ "text": "string | null"
23833
+ },
23834
+ "default": "null",
23835
+ "description": "The maximum value. This is valid when `type=\"number\"`.",
23836
+ "fieldName": "max"
23837
+ },
23693
23838
  {
23694
23839
  "name": "pattern",
23695
23840
  "type": {
@@ -23706,54 +23851,47 @@
23706
23851
  },
23707
23852
  "description": "Value of `autocomplete` attribute of the internal `<input>`.",
23708
23853
  "fieldName": "autocomplete"
23854
+ },
23855
+ {
23856
+ "name": "show-password",
23857
+ "type": {
23858
+ "text": "boolean"
23859
+ },
23860
+ "default": "false",
23861
+ "description": "When `type=\"password\"`, whether to display the password with a black dot or as text.",
23862
+ "fieldName": "showPassword"
23709
23863
  }
23710
23864
  ],
23711
23865
  "superclass": {
23712
23866
  "name": "DDSFormElement",
23713
23867
  "module": "/src/base"
23714
23868
  },
23715
- "tagName": "daikin-text-masked-field",
23869
+ "tagName": "daikin-text-field",
23716
23870
  "customElement": true
23717
23871
  }
23718
23872
  ],
23719
23873
  "exports": [
23720
23874
  {
23721
23875
  "kind": "js",
23722
- "name": "FactoryOpts",
23723
- "declaration": {
23724
- "name": "FactoryOpts",
23725
- "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
23726
- }
23727
- },
23728
- {
23729
- "kind": "js",
23730
- "name": "InputMask",
23731
- "declaration": {
23732
- "name": "InputMask",
23733
- "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
23734
- }
23735
- },
23736
- {
23737
- "kind": "js",
23738
- "name": "DaikinTextMaskedField",
23876
+ "name": "DaikinTextField",
23739
23877
  "declaration": {
23740
- "name": "DaikinTextMaskedField",
23741
- "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
23878
+ "name": "DaikinTextField",
23879
+ "module": "src/components/text-field/daikin-text-field.ts"
23742
23880
  }
23743
23881
  },
23744
23882
  {
23745
23883
  "kind": "custom-element-definition",
23746
- "name": "daikin-text-masked-field",
23884
+ "name": "daikin-text-field",
23747
23885
  "declaration": {
23748
- "name": "DaikinTextMaskedField",
23749
- "module": "src/components/text-masked-field/daikin-text-masked-field.ts"
23886
+ "name": "DaikinTextField",
23887
+ "module": "src/components/text-field/daikin-text-field.ts"
23750
23888
  }
23751
23889
  }
23752
23890
  ]
23753
23891
  },
23754
23892
  {
23755
23893
  "kind": "javascript-module",
23756
- "path": "dist/es/components/text-masked-field/index.js",
23894
+ "path": "dist/es/components/text-field/index.js",
23757
23895
  "declarations": [],
23758
23896
  "exports": [
23759
23897
  {
@@ -23761,7 +23899,56 @@
23761
23899
  "name": "*",
23762
23900
  "declaration": {
23763
23901
  "name": "*",
23764
- "module": "src/components/text-masked-field/daikin-text-masked-field"
23902
+ "module": "src/components/text-field/daikin-text-field"
23903
+ }
23904
+ }
23905
+ ]
23906
+ },
23907
+ {
23908
+ "kind": "javascript-module",
23909
+ "path": "dist/es/components/text-field/number-utils.js",
23910
+ "declarations": [
23911
+ {
23912
+ "kind": "function",
23913
+ "name": "updateNumberValue",
23914
+ "return": {
23915
+ "type": {
23916
+ "text": ""
23917
+ }
23918
+ },
23919
+ "parameters": [
23920
+ {
23921
+ "name": "currentValue",
23922
+ "type": {
23923
+ "text": "string"
23924
+ },
23925
+ "description": "Current value as string"
23926
+ },
23927
+ {
23928
+ "name": "direction",
23929
+ "type": {
23930
+ "text": "1 | -1"
23931
+ },
23932
+ "description": "Direction: 1 for increment, -1 for decrement"
23933
+ },
23934
+ {
23935
+ "name": "options",
23936
+ "type": {
23937
+ "text": "NumberUpdateOptions"
23938
+ },
23939
+ "description": "The update options"
23940
+ }
23941
+ ],
23942
+ "description": "Updates a number value according to step constraints and min/max bounds.\n\nLogic (compliant with Google Chrome behavior):\n0. Valid output range: min <= value <= max, and (value - min) is a multiple of step, or value equals min/max\n1. If max < min, direction up goes to min (max value), direction down goes to max (min value)\n2. If value is out of range or not on step boundary, round to nearest step in the direction and finish\n3. Otherwise, increment/decrement by step"
23943
+ }
23944
+ ],
23945
+ "exports": [
23946
+ {
23947
+ "kind": "js",
23948
+ "name": "updateNumberValue",
23949
+ "declaration": {
23950
+ "name": "updateNumberValue",
23951
+ "module": "src/components/text-field/number-utils.ts"
23765
23952
  }
23766
23953
  }
23767
23954
  ]